Как обработать ошибку без значения с пользовательским умножением матрицы в нейронной сети Tensorflow - PullRequest
1 голос
/ 30 сентября 2019

Я написал свою собственную реализацию умножения матриц в 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

1 Ответ

0 голосов
/ 15 октября 2019

Вам может потребоваться поделиться минимальным воспроизводимым кодом, чтобы понять проблему. Также, пожалуйста, посмотрите ответ Сальвадора Дали по ссылке ниже, чтобы получить более полное представление о том, как работает TF.matmul:

Tensorflow - матрица входной матрицы с данными партии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...