Ошибка Assertion на идентичных кортежах (Tensorflow Keras) - PullRequest
0 голосов
/ 04 ноября 2019
x = tf.keras.layers.Input((2,))
z = x.shape
y = (None, 2)
print("z: ", z)
print("y: ", y)
assert z == y

Вывод:

z: (None, 2)
y: (None, 2)
Traceback (most recent call last):
  File "", line 113, in <module>
    assert z == y
AssertionError

Почему выдается ошибка подтверждения, когда z и y имеют одинаковую форму?

Ответы [ 2 ]

0 голосов
/ 04 ноября 2019

tenor.shape.as_list () даст вам форму в виде списка.

assert tuple(z.as_list()) == y
0 голосов
/ 04 ноября 2019

Разобрался. Кортежи бывают разных типов.

print(type(z))
print(type(y))

Output: 
<class 'tensorflow.python.framework.tensor_shape.TensorShape'>
<class 'tuple'>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...