Я написал свою собственную реализацию умножения матриц в 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.")
Потому что мое умножение матриц работает только для определенных матриц. Есть ли способ обработать эту ошибку, чтобы она работала, когда размеры в конечном итоге были определены? Tf.matmul () Tensorflow должен иметь способ, но я не могу понять это. https://www.tensorflow.org/api_docs/python/tf/linalg/matmul