tf.get_default_graph(集合名字,内容) 获取当前默认的计算图
tf.add_to_collection() 将资源加入一个或多个集合中,然后通过tf.get_collection()获取一个集合里面的所有资源
tf.InteractiveSession() 在交互环境下直接构建默认的会话函数,可省去将产生的会话注册为默认会话的过程
tf.random_normal 正态分布
tf.truncated_normal 正态分布,但如果随机出来的值偏离平均值超过2个标准差,那么这个数将被重新随机
tf.random_gamma Gamma分布
tf.initialize_all_variables 初始化所有变量和变量之间的依赖关系
tf.all_variables 拿到当前计算图上所有变量
tf.trainable_variables 得到所有需要优化的参数
tf.clip_by_value 将函数中的数值限制在一个范围内,避免一些运算错误(比如log0是无效的)
tf.log().eval() 这个函数完成了对张量中所有元素依次求对数的功能
例如:
v = tf.constant([[1.0,2.0,3.0],[4.0,5.0,6.0]])
Print(tf.log(v).eval())
#输出[ 0. 0.69314718 1.09861231]
tf.matmul 矩阵乘法
* 对应位置的元素之间直接相乘
tf.reduce_mean 求平均值
tf.nn.softmax_cross_entropy_with_logits 实现使用了softmax回归之后的交叉熵损失函数
tf.nn.sparse_softmax_cross_entropy_with_logits 在只有一个正确答案的分类问题中,用来加速计算过程
tf.reduce_mean(tf.square(y_-y)) 实现均方误差损失函数(均方误差也是分类问题中常用的一种损失函数)
tf.greater 输入的是两个张量,用来比较两个张量的大小,并返回比较结果。如果输入的张量的维度不一样,Tensorflow会进行类似Numpy广播操作(broadcasting)的处理。
tf.select 有三个擦参数,第一个为选择条件根据,当条件为True时,选择第二个,否则使用第三个参数中的值。
tf.train.exponential_decay(0.1,globle_step,100,0.96,staircase=True) 指数衰减学习率。先使较大的学习率来快速得到一个比较优的解,然后随着迭代的继续逐步减小学习率,是的模型训练后期更加稳定。本例中,初始学习率为0.1,staircase=True表示每训练100轮后学习率乘以0.96。一般来说初始学习率、衰减系数和衰减速度都是根据经验设置的。损失函数下降的速度和迭代结束后总损失的大小没有必然联系,也就是说并不能通过前几轮损失函数下降的速度来比较不同神经网络的效果。
tf.train.ExponentialMovingAverage 实现滑动平均模型,在采用随机梯度下降算法训练神经网络模型时,使用滑动平均模型在很多应用中都可以在一定程度上提高最终模型在测试数据上的表现。在初始化时需要提供一个衰减率(decay),用于控制模型更新的速度。
tf.train.Saver 保存训练好的模型。例如将模型保存到path/to//model/model.ckpt中
...
Saver = tf.train.Saver()
With tf.Session() as sess:
...
saver.save(sess,”path/to//model/model.ckpt”)
...
这段代码会生成3个文件,第一个model.ckpt.meta保存了Tensor flow计算图的结构,第二个model.ckpt保存了Tensor flow程序中每一个变量的取值,第三个为checkpoint文件,它保存了一个目录下所有模型文件列表。加载这个已经保存的模型的方法。
...
saver = tf.train.Saver()
with tf.Session() as sess:
...
saver.restore(sess,”path/to//model/model.ckpt”)
...
matplotlib.pyplot是一个python画图工具,将存储的数据还原成图像。
tf .image.resize_image(img_data,300,300,method=0) 调整图像大小,第一个参数是原始图像,第二、三个参数是调整后图像的大小,methon 参数给出了调整图像大小的算法。
method=0 双线性插值发(Bilinear interpolation)
method=1 最近邻居法(Nearest neighbor interpolation)
method=2 双三次插值法(Bicubic interpolation)
method=3 面积插值法(Area interpolation)
tf.image.resize_image_with_crop_or_pad 调整图像大小。第一个参数为原始图像,后面两个参数是调整后的目标图像大小。如果原始图像的尺寸大于目标图像,函数会自动截取原始图像中剧中的部分,否则在原始图像四周填充全零背景。
tf.image_central_crop(原始图像,调整比例) 按比例裁剪图像
tf.image.crop_to_bounding_box和tf.image.pad_to_bounding_box 提供了剪裁或者填充指定区域的图像。前提是尺寸符合要求,否则会报错。
tf.image.flip_up_down、tf.image.flip_left_right、tf.image.transpoe_image 将图像进行上下、左右、对角线翻转。
tf.image.random_flip_up_down、tf.imge.random_flip_left_right 以一定(随机)概率上下、左右翻转。
tf.image.adjust_brightness(原图,调整的值) 提高亮度或降低亮度。
tf.image.random_brightness(image,max_delta) 在[-max_delta,max_delta]的范围内随机调整图像的亮度
tf.imag.adjust_contrast(img_data,调整值) 、tf.image.random_contrast(image,lower,upper) 调整对比度
tf.image.adjust_hue(img_data)、tf.image.random_hue(imge,delta) 调整色相
tf.imag.adjust_saturation(img_data,调整值) 、tf.image.random_saturation(image,lower,upper) 调整饱和度
tf.imag.per_image_whiteening(img_data) 将代表一张图像的三维矩阵中的数字均值变为0,方差为1,完成图像标准化。
tf.image.draw_bounding_boxes 在图像中加入标注。
tf.image.sample_distored_bounding_box 随机截取图像,提高模型的健壮性。