TensorFlow—part1
基于中国大学生MOOC视频TensorFlow入门实操课程第一章,以及自己遇到的一些问题
慕课视频链接:https://www.icourse163.org/learn/youdao-1460578162?tid=1461280442#/learn/announce
前言
我基础比较差,虽然之前也学了高数线代什么的,但是可能对我来说还是难了点吧,没学好,直接去看官方的有点懵,然后是准备根据这个博客推荐的来学习https://tefuirnever.blog.csdn.net/article/details/110851159
也是他推荐的慕课
一、环境配置
可参考这个视频:https://www.bilibili.com/video/BV1Zt411T7zE?p=3
1.安装miniconda3(我试过下最新版的,但是用不了,所以还是用日月光华群里那个,好像是就那个新的不能用不知道为什么)。
2.安装VS,已经安装了就不用再装了。
3.换源
C盘用户目录下新建.condarc文件,我直接用QQ群里的那个不行,有那默认的就用不了就改了一下把默认的全删了。
channels:
show_channel_urls: true
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
report_errors: true
一定记得看自己电脑支不支持AVX指令集,如果不支持是不能装TensorFlow最新版的,1.5之后的好像都不能装,不过好像可以用源码什么的,我也不大清楚,没有去了解,一开始我试了好久,最后还是认命换了个U。
4.安装CPU版本
(1)打开anaconda prompt 命令行,执行:
python -m pip install --upgrade pip
(2)安装TensorFlow2.3CPU版本
pip install tensorflow-cpu==2.3.0 -i https://pypi.douban.com/simple/
5.安装GPU版本(要求其 CUDA ComputeCapability 须不低于 3.5,NVIDIA驱动程序需 418.x 或更高版本。)
(1)GPU版本有两个依赖库,对于 tensorflow2.3来讲,CUDA的版本需要是 10.1cudnn版本号需要不小于 7.6,装其他版本的可以自己去查。打开anaconda prompt 命令行,执行:
conda install cudatoolkit=10.1
conda install cudnn=7.6.5
(2)安装TensorFlow2.3GPU版本
pip install tensorflow-gpu==2.3.0 -i https://pypi.douban.com/simple/
6.编译环境
可以用jupyter notebook,也可以用自己电脑上有的Python软件
jupyter notebook自动补全(1)第一行添加%config IPCompleter.greedy=True。(2)也可以改配置,具体操作可以百度
二、入门
1.引言
传统编程
机器学习
2.一个神经元网络
根据X得到YX = -1.0, 0.0, 1.0, 2.0, 3.0, 4.0
Y = -3.0, -1.0, 1.0, 3.0, 5.0, 7.0
import tensorflow as tf
from tensorflow import keras
import numpy as np
#建立模型
model = keras.Sequential([keras.layers.Dense(units=1,input_shape=[1])])
model.compile(optimizer='sgd',loss='mean_squared_error')#optimizer优化,loss损失函数
#准备训练数据
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)
#训练模型
model.fit(xs,ys,epochs=500)#epochs训练次数
#使用模型
print(model.predict([10.0]))
loss逐渐变小,model.predict([10.0])模型输出不一定为19,可能是接近19的数,我有时候用jupyter notebook,有时候用pycharm