Эта ошибка произошла.«Ошибка типа: ожидается int64, вместо этого получено 1e-07 типа« float ».»,Как я могу сделать? - PullRequest
1 голос
/ 20 мая 2019

У меня проблема.Произошла ошибка типа.Но я не могу решить это.Сначала я подумал, что это проблема типа.Но я заметил, что проблема не простая.Причина в моем плохом мастерстве.Но я не могу найти решение.Итак, пожалуйста, помогите мне.

Я изменил свой тензор потока и версию keras.

keras : 2.2.4
tensorflow : 1.13.1

Код:

x = Dozat(21)(x) # custom Lambda layer

print('x : ', x, '\n\n\n')

network = Model([w, p], x)
q = network.layers[8].output
print(q)

network.summary()

network.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

Краткое содержание:

__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to
==================================================================================================
words (InputLayer)              (None, 21, 2)        0
__________________________________________________________________________________________________
pos (InputLayer)                (None, 21, 2)        0
__________________________________________________________________________________________________
embedding_1 (Embedding)         (None, 21, 2, 128)   14541184    words[0][0]
__________________________________________________________________________________________________
embedding_2 (Embedding)         (None, 21, 2, 128)   9344        pos[0][0]
__________________________________________________________________________________________________
reshape_1 (Reshape)             (None, 21, 256)      0           embedding_1[0][0]
__________________________________________________________________________________________________
reshape_2 (Reshape)             (None, 21, 256)      0           embedding_2[0][0]
__________________________________________________________________________________________________
concatenate_1 (Concatenate)     (None, 21, 512)      0           reshape_1[0][0]
                                                                 reshape_2[0][0]
__________________________________________________________________________________________________
bidirectional_1 (Bidirectional) (None, 21, 256)      656384      concatenate_1[0][0]
__________________________________________________________________________________________________
dozat_1 (Dozat)                 (1, 21)              0           bidirectional_1[0][0]
==================================================================================================
Total params: 15,206,912
Trainable params: 15,206,912
Non-trainable params: 0
__________________________________________________________________________________________________

Ошибка:

Traceback (most recent call last):
  File "C:\Users\jkdsp\OneDrive\Desktop\github\git_from_the_hell\Keras_parsing\keras_11_biLSTM_prac_one_example_2.py", line 105, in <module>
    network.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\engine\training.py", line 342, in compile
    sample_weight, mask)
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\engine\training_utils.py", line 414, in weighted
    score_array = fn(y_true, y_pred)
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\losses.py", line 91, in binary_crossentropy
    return K.mean(K.binary_crossentropy(y_true, y_pred), axis=-1)
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\backend\tensorflow_backend.py", line 3374, in binary_crossentropy
    _epsilon = _to_tensor(epsilon(), output.dtype.base_dtype)
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\keras\backend\tensorflow_backend.py", line 308, in _to_tensor
    return tf.convert_to_tensor(x, dtype=dtype)
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\framework\ops.py", line 1039, in convert_to_tensor
    return convert_to_tensor_v2(value, dtype, preferred_dtype, name)
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\framework\ops.py", line 1097, in convert_to_tensor_v2
    as_ref=False)
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\framework\ops.py", line 1175, in internal_convert_to_tensor
    ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\framework\constant_op.py", line 304, in _constant_tensor_conversion_function
    return constant(v, dtype=dtype, name=name)
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\framework\constant_op.py", line 245, in constant
    allow_broadcast=True)
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\framework\constant_op.py", line 283, in _constant_impl
    allow_broadcast=allow_broadcast))
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\framework\tensor_util.py", line 466, in make_tensor_proto
    _AssertCompatible(values, dtype)
  File "C:\Users\jkdsp\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\framework\tensor_util.py", line 371, in _AssertCompatible
    (dtype.name, repr(mismatch), type(mismatch).__name__))
TypeError: Expected int64, got 1e-07 of type 'float' instead.

1 Ответ

0 голосов
/ 20 мая 2019

Попробуйте изменить тип данных с int на float. Может быть, это решит проблему.

Подобное обсуждение можно найти здесь .

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