Tensorflow模型训练时维度处理技巧
时间:2021-02-05 10:33:17
收藏:0
阅读:0
Tensorflow模型训练时维度处理技巧
修改模型一周,调BUG半个月,特此总结:
- 在某一个维度为1时,用tf.reshape
- tf.matmul(要求两个元素维度正好相反)要求两个元素维度正好相反
- 和tf.multiply ( 张量1 ,张量2)要求两个元素维度一致
- assign_sub():重新赋值,但需要先用 tf.Variable 定义变量 w
- 要求输出的数据格式保持一致且支持广播作用的函数:
- tf.muliply(x, y, name=None)
- tf.add(x, y, name=None)
- tf.concat(values, axis, name=‘concat‘):多种网络joint训练的时候,逆向操作tf.split(value, num_or_size_splits, axis=0, num=None, name=‘split‘)
- tf.stack(values, axis, name=‘stack‘)增加指定维度
- tf.tile():把数组沿各个方向复制,不变的维度设置为1
- 反之用tf.squeeze压缩维度
- tf.nn.embedding_lookup(ids = [1,3,5]):找出embeddings中第1,3,5行,组成一个tensor返回,其维度是有几个数则输出几个值
- tf.split(value,num_or_size_splits,axis=0):
- 对value张量沿着axis维度,按照num_or_size_splits个数切分
评论(0)