版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/AManFromEarth/article/details/79697964
在编程的时候遇到很多问题和不了解的API,在这里记录下来,以便后续查找使用。若问题累计过多,会进行分类。
(1) tf.app.flags.FLAGS
FLAGS = tf.app.flags.FLAGS
flags.DEFINE_integer('train_batch_size', 8,
'The number of images in each batch during training.')
flags.DEFINE_float('weight_decay', 0.00004,
'The value of the weight decay for training.')
flags.DEFINE_multi_integer('train_crop_size', [513, 513],
'Image crop size [height, width] during training.')
flags.DEFINE_float('last_layer_gradient_multiplier', 1.0,
'The gradient multiplier for last layers, which is used to '
'boost the gradient of last layers if the value > 1.')
flags.DEFINE_boolean('upsample_logits', True,
'Upsample logits during training.')
flags.DEFINE_string('train_logdir', None,
'train log path')
def main(unused_argv):
#主程序
if __name__ == '__main__':
flags.mark_flag_as_required('train_logdir') #若是train_logdir为空时报错
tf.app.run() #这里使用这一句就可以直接调用上面定义的main函数
执行主程序之前先解析FLAGS,自动传入tf.app.run,并运行主函数。
(2)tf.cast
processed_image = tf.cast(image,tf.float32)
把image的格式转换成tf.float32。
(3)tf.random_uniform()
tf.random_uniform([3,3],minval=min,maxval=max)
返回一个3x3的矩阵,其值在[min,max]之间,为均匀分布
(4)tf.random_shuffle()
tf.random_shuffle(
value,
seed=None,#随机种子
name=None)
对于第一维进行shuffle,如
[[1, 2], [[5, 6],
[3, 4], ==> [1, 2],
[5, 6]] [3, 4]]
(5)tf.lin_space()
tf.lin_space(
start,
stop,
num,
name=None)
从start开始到stop结束,按一定间隔生成num个数。
(6)tf.image.resize_bilinear()
tf.image.resize_bilinear(
images,#[batch_size,height,width,channels]
size,
align_corners=False,#如果是True,则input和output图像的四个角像素是对齐的
name=None)
进行二次插值重采样。