配置环境:python -V:3.7.1 TensorFlow -V:1.14.0
安装tensorflow遇到的坑
本以为安装tensorflow跟安装别的库一样,结果安装时安装成功了,但是一导入就错,后来才发现安装的tensorflow的版本跟python的版本,跟编译器版本,都有关系。而且,加入安装的是GPU版本,跟显卡的运算平台CUDA,神经网络加速库cuDNN还有关系。所以,在安装前,首先要做的就是到官网去查看配置情况。
GPU版本稍复杂一点,要保证CUDA,cuDNN的版本一致。不然一导入就会报DLL的错误。当然,GPU版本的计算速度确实快,所以有条件尽可能安装GPU版本的。
会话
tensorflow不能直接打印出张量,首先要开启会话:
with tf.Session() as tf:
会话的占位符
tf.placeholder(dtype=,shape=[])
用来定义暂不知道形状,或者数值未知的张量,先占个位置
TensorBoard可视化
一共就两步,第一步
writer = tf.summary.FileWriter('保存路径')
第二步:writer.close()
在命令窗口输入 tensorboard --logdir=e:/event/test,后面的路径要么加上双引号,要么不加引号。否则,浏览器看不到graph。
创建变量:三步
b = tf.Variable(initial_value=100)
在开启会话之前,要对变量定义初始化
model = tf.global_variables_initializer()
在会话中要运行初始化,之后才能显示变量
sess = tf.session
sess.run(model)
增加变量显示:共3步
第一步:创建事件文件,主义参数,graph
filewriter = tf.summary.FileWriter('e:/events/test',graph=sess.graph)
第二步:收集变量,合并变量
tf.summary.scalar('error',error) #scalar收集单值变量
tf.summary.histogram('weights',weight) #histogram收集高维变量
tf.summary.histogram('bias',bias)
merged = tf.summary.merge_all()
第三步:每一次优化运行变量并写入事件
# 增加变量显示,运行合并变量
summary = sess.run(merged)
# 增加变量显示,将变量写入事件文件
filewriter.add_summary(summary,i)
# filewriter.close()
构造模型的一般步骤
准备数据>构造模型>构建损失函数>优化损失>训练模型
保存模型:两步
saver = tf.train.Saver()
saver.save(sess,'path')
读取模型
saver = tf.train.Saver()
ckpt=tf.train.get_checkpoint_state('E:\jupyter\机器学习\神经网络\TensorFlow\minister\ckpt')
if ckpt and ckpt.model_checkpoint_path:
saver.restore(sess,'E:\jupyter\机器学习\神经网络\TensorFlow\minister\ckpt\mnist.ckpt')
读取模型报错“Key Variable not found in checkpoint”,问题多半处在变量上,需要检查包括变量名字,变量的命名空间与保存模型是是否一致。