作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 tensorflow 中的权重矩阵尺寸方面遇到问题。
#outputs = tf.reshape(outputs, [batch_size, seq_length, num_classes])
outputs = tf.reshape(outputs, [-1, seq_length, num_classes])
output_dim = outputs.get_shape().as_list()
weights = tf.ones([output_dim[0], seq_length], tf.int32) #TODO: change the dimension
sequence_loss = tf.contrib.seq2seq.sequence_loss(logits=outputs, targets=Y, weights=weights)
所以,我有一个在最后一个时期发生变化的batch_size,并且当涉及到最后一个时期时,权重的维度会引起麻烦。
的 权重 = tf.ones([output_dim[0], seq_length], tf.int32)
导致以下错误:
"Cannot convert a partially known TensorShape to a Tensor: %s" % s)
ValueError: Cannot convert a partially known TensorShape to a Tensor: (?, 25)
你会如何解决这个问题?我尝试使用 tf.ones_like(outputs) 但这似乎不起作用,并且 tf.ones 似乎需要固定值作为其维度。
最佳答案
使用tf.fill
,支持动态形状:
a = tf.placeholder(tf.float32, shape=[None, 25, 10])
b = tf.fill(tf.shape(a)[:-1], 1) # shape=[None, 25]
with tf.Session() as sess:
print(sess.run(b, feed_dict={a: np.zeros([10, 25, 10])}))
# Prints:
# [[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]]
关于python - 如何动态更新 tf.ones_like() 的形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48562282/
我在 tensorflow 中的权重矩阵尺寸方面遇到问题。 #outputs = tf.reshape(outputs, [batch_size, seq_length, num_classes])
考虑 pd.Series s s = pd.Series([.4, .5, .6], list('abc')) s a 0.4 b 0.5 c 0.6 dtype: float64
我是一名优秀的程序员,十分优秀!