阅读python+tensorflow中的函数及基础知识的记录(以供查阅)

这篇博客详细记录了阅读Python与TensorFlow过程中遇到的关键函数和基础知识,涉及内容包括数组长度计算、自定义numpy函数转换、数据加载优化、条件控制、图像处理函数、张量操作、池化操作、卷积层构建、损失函数定义等,同时引用了深度学习模型如SSIM和Disparity Smoothness Loss。
摘要由CSDN通过智能技术生成

知识列表

1、 string_length_tf(t)

返回数组长度

2、tf.py_func

核心是一个func函数(由用户自己定义),该函数接收numpy array作为输入,并返回numpy array类型的输出。

tf.py_func(func,inp,Tout,stateful=True,name=None):第一个参数func是我们要执行的函数,输入是numpy数组输出也是,这里是len函数;第二个参数inp是函数输入,是一个列表;第三个参数Tout制定了func函数返回numpy_array转化成tensor后的格式。也就是说这个函数的作用是将func函数的输出变为我们想要的格式。

3、len()

python的一个内置函数,输入是一个数组或字符串,返回值是数组中的元素个数。

def string_length_tf(t):
  return tf.py_func(len, [t], [tf.int64])
  #返回int64类型的数组t的元素个数
4、tf.train.string_input_producer

用于开启一个线程,进行生成图片名队列,这样可以极大的增强gpu效率,第一个参数为文件夹名,第二个参数shuffle为是否打乱顺序,shuffle=False 时一个epoch内文件的顺序不被打乱,设置shuffle=True,那么在一个epoch内,数据的前后顺序就会被打乱,此外还有参数num_epochs 是epoch数。

5、tf.cond()

在TensorFlow中,tf.cond()类似于c语言中的if…else…,用来控制数据流向。
例left_image = tf.cond(do_flip > 0.5, lambda: tf.image.flip_left_right(right_image_o), lambda: left_image_o)
如果do_flip > 0.5则运行left_image = tf.image.flip_left_right(right_image_o),
否则运行left_image = left_image_o。

6、tensorflow内部含有实现图像翻转的函数

tf.image.flip_up_down:从上向下翻转
tf.image.flip_left_right:从左到右翻转
tf.image.transpose_image:对角线翻转
tf.image.random_flip_up_down:以一定概率从上向下翻转
tf.image.random_flip_left_right:以一定概率从左到又翻转

7、tf.train.batch([example, label], batch_size=batch_size, capacity=capacity)

[example, label]表示样本和样本标签,这个可以是一个样本和一个样本标签,batch_size是返回的一个batch样本集的样本个数。capacity是队列中的容量。这主要是按顺序组合成一个batch。
tf.train.shuffle_batch([example, label], batch_size=batch_size, capacity=capacity, min_after_dequeue)
不一样的是这个参数min_after_dequeue,一定要保证这参数小于capacity参数的值,否则会出错。这个代表队列中的元素大于它的时候就输出乱的顺序的batch。也就是说这个函数的输出结果是一个乱序的样本排列的batch,不是按照顺序排列的。

上面的两个函数返回值都是一个batch的样本和样本标签,只是一个是按照顺序,另外一个是随机的。

8、tf.stack

用于拼接两个tf 张量,拼接可以在不同的维度上进行,拼接后的新张量维度加1,前面的参数为用于拼接的张量,后面的参数数字表示在哪个轴上拼接。

9、定义的填充函数:augment_image_pair
10、tf.clip_by_value(A, min, max)

输入一个张量A,把A中的每一个元素的值都压缩在min和max之间。小于min的让它等于min,大于max的元素的值等于max。

11、定义读取图片函数:read_image(self, image_path)
12、tf.substr

从字符串的 Tensor 中返回子字符串。
对于输入 Tensor 中的每个字符串,创建一个从索引 pos 开始的子字符串,总长度为 len。
如果 len 定义了一个将超出输入字符串长度的子字符串,那么使用尽可能多的字符;如果 pos 是负数或指定的字符索引大于任何输入字符串,则会抛出一个 InvalidArgumentError;pos 和 len 必须具有相同的形状,否则在 Op 创建时会抛出一个 ValueError。

13、

**:为乘方
//:整除,取整数部分

14、</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值