我已经在TensorFlow中编写了自己的矩阵乘法实现,可以在正确定义尺寸时使用tf占位符。但是在神经网络中,很多时候您都希望保留其中一个维度未定义,以便批次大小或输入大小可以更改,例如:
X = tf.placeholder(tf.float32, shape=(None, n_inputs), name="X")
y = tf.placeholder(tf.int64, shape=(None), name="y")
在我的实现中,我首先检查矩阵的维,以便它们匹配,以便可以使用以下方法初始化具有正确维的矩阵:
(m, n) = A.get_shape().as_list()
但是当我在tf神经网络中使用它时,我得到了错误:
raise ValueError("None values not supported.")
因为我的矩阵乘法仅适用于定义的矩阵。有没有一种方法可以处理此错误,以便最终定义尺寸时可以使用该错误? Tensorflow的tf.matmul()必须有一种方法,但我不知道。
https://www.tensorflow.org/api_docs/python/tf/linalg/matmul
最佳答案
您可能需要共享一些最低限度的可复制代码以了解此问题。另外,请在以下链接中查看萨尔瓦多·达利的回答,以进一步了解TF.matmul的工作原理:
Tensorflow - matmul of input matrix with batch data
关于python - 如何在Tensorflow神经网络中使用自定义矩阵乘法处理无值错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58160789/