Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tensorflow:三维张量和二维矩阵乘法_Python_Numpy_Tensorflow - Fatal编程技术网

Python Tensorflow:三维张量和二维矩阵乘法

Python Tensorflow:三维张量和二维矩阵乘法,python,numpy,tensorflow,Python,Numpy,Tensorflow,当通过密集层传递3D张量时,我看到了以下实现方式: X = np.random.rand(5,4,3).astype(np.float32) place = tf.placeholder(shape=[None, None, 3], dtype=tf.float32) dense = tf.layers.dense(place, 10) 另一方面,我也看到了这一点: X = np.random.rand(5,4,3).astype(np.float32) place = tf.placehol

当通过密集层传递3D张量时,我看到了以下实现方式:

X = np.random.rand(5,4,3).astype(np.float32)
place = tf.placeholder(shape=[None, None, 3], dtype=tf.float32)
dense = tf.layers.dense(place, 10)
另一方面,我也看到了这一点:

X = np.random.rand(5,4,3).astype(np.float32)
place = tf.placeholder(shape=[None, None, 3], dtype=tf.float32)
place_reshape = tf.reshape(place, [tf.shape(place)[0] * tf.shape(place)[1], 3])
dense = tf.layers.dense(place_reshape, 10)
dense_reshape = tf.reshape(dense, [tf.shape(place)[0], tf.shape(place)[1], 10])
虽然这两种方法本质上应该是相同的,但我不能用第一种和第二种方法得到相同的结果,即使我也设置了两种随机种子(为了可读性,我在代码片段中省略了它们)。如果我遗漏了什么,有人能给我指出正确的方向吗


期待你的回答

第一个行不通,因为在
matmul
中,列组必须等于2。你想达到什么目标?是否要播放
matmul
。它工作正常,不会引起错误。2.这两个代码段的输出应该是相同的(在PyTorch中尝试了相同的事情,并且它们是相同的),因此我试图找出它们的不同之处。第一个不起作用,因为在
matmul
中,秩必须等于2。你想达到什么目标?是否要播放
matmul
。它工作正常,不会引起错误。2.这两个代码片段的输出应该是相同的(在PyTorch中尝试了相同的事情,并且它们是相同的),所以我试图找出它们的不同之处。