图像处理
1、.ckpt文件与.pb文件
- .ckpt文件是旧版本的输出saver.save(sess),相当于现在的.ckpt-data
- checkpoint文件仅用于告知某些TF函数,这是最新的检查点文件。
- .ckpt-meta 包含元图,即计算图的结构,没有变量的值(基本上可以在tensorboard / graph中看到)。
saver = tf.train.import_meta_graph(path_to_ckpt_meta) saver.restore(sess, path_to_ckpt_data)
- ckpt.data : 保存模型中每个变量的取值
- .pb文件可以保存您的整个图表(元+数据)。要在C++中加载和使用(但不训练)图形,通常会使用它来创建freeze_graph,它会.pb从元数据和数据创建文件。
2、lambda用法
lambda只是一个表达式,函数体比def简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
3、batch、batch_size、epoch、iteration简介
(1)batchsize:每批数据量的大小。DL通常用SGD的优化算法进行训练,也就是一次(1 个iteration)一起训练batchsize个样本,计算它们的平均损失函数值,来更新参数。
(2)iteration:1个iteration即迭代一次,也就是用batchsize个样本训练一次。
(3)epoch:1个epoch指用训练集中的全部样本训练一次,此时相当于batchsize 等于训练集的样本数。
举例:假设数据集10w,epoch=5,则训练集为50w,训练集可打乱;
假设batchsize=50,则iteration=10w*5/50=1w;
训练过程:iter1:1-50;iter2:51-100(取数据可有序取,可随机取)
4、 pprint
import pprint
data = (
"this is a string", [1, 2, 3, 4], ("more tuples",
1.0, 2.3, 4.5), "this is yet another string"
)
pprint.pprint(data)
5、pip安装Tensorflow模块问题:
ERROR: Could not find a version that satisfies the requirement tensorflow1.15.0rc (from versions: none) ERROR: No matching distribution found for tensorflow1.15.0rc
使用pip安装tensorflow报错:ERROR: Could not find a version that satisfies the requirement tensorflow==1.15.0rc (from versions: none)
ERROR: No matching distribution found for tensorflow==1.15.0rc
解决办法:
1、检查python版本。好像目前tensorflow只支持python3.5.x 64bit~3.6.x 64bit版本。(重点:python版本必须是64bit的。32bit安装tensorflow还是会报错)
确认python版本是:python3.6.x-64bit,使用管理员权限直接在终端运行:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow ,就可以安装成功。
6、python降级
conda install python=3.6