开发环境:
程序编辑调试工具:Jupyter
机器学习框架:TensorFlow
Python运行环境:安装配置好python
前提:配置安装好Anaconda,
1.打开Anaconda软件,新建环境中创建一个textenv环境,点击create,创建完成后搜索tensorflow安装。
2.安装完成后,点击Home,安装Jupyterlab,安装完成后运行Jupyterlab。
3.使用Jupyterlab
点击左上角File ——> New ——>Notebook
使用说明:
每个格子就是书写python代码,每个格子又称一个ceil。
Jupyter快捷方式:
执行:Control +Enter
*星号表示正在执行,星号消失表示执行完毕
按A键可以添加一格,增加一行提示
比如查看tensorflow的版本:
import tensorflow as tf
print(tf._version_)
版本对应关系:
tensorflow=2.3.0
numpy1.18.5
matplotlib3.3.3
seaborn0.9.0
pandas1.1.5
scikit-learn==0.24.2
在Anaconda自创的环境下安装指定版本的包(numpy, tensorflow, gym):
以安装numpy 1.18.5为例,打开 Anaconda Prompt (别看错了,不是Anaconda Powershell Prompt):
先切换到rl环境,
conda env list
activate textenv #进入指定的textenv环境中配置
然后输入运行numpy。
conda install numpy==1.18.5
系统列出了numpy 1.18.5和其所有依赖的包,输入y确认安装即可。
创建一个神经元网络代码实现:
构造只有一个神经元的网络来了解机器学习的过程,方程是Y=2X-1
%config IPCompleter.greedy=True #加一行这个,意思是按住TAB键代码会自动提示。
from tensorflow import keras
import numpy as np
#构建模型
model=keras.Sequential([keras.layers.Dense(units=1,input_shape=[1])])#使用keras中的layers代表一层神经元,units说明这一层中只有一个,input_shape指输入值x也是只有一个。
model.compile(optimizer='sgd',loss='mean_squared_error')#指定模型的loss fuction,就是根据什么来检测它的损失函数,optimizer指定优化方式。
#准备训练数据
xs=np.array([-1.0,0.0,1.0,2.0,3.0,4.0],dtype=float)
ys=np.array([-3.0,-1.0,1.0,3.0,5.0,7.0],dtype=float)
#训练模型,指定训练次数500次
model.fit(xs,ys,epochs=500)
#使用模型,预测10的结果
print(model.predict([10.0])#2*10-1
效果如下:
总过运行500次,loss越来越小,说明学习效果很好。
检测模型效果:
model.predict([10.0])
输出结果+数据通过机器学习,总结出规则,最后得到神经元网络模型。