Tidak dapat mengonversi 1.0 ke EagerTensor dari dtype int32

Saya mencoba menggunakan keras untuk membuat cnn dan menggunakan SVM setelah lapisan padat cnn sebagai pengklasifikasi. Jadi saya mencoba mendapatkan output setelah lapisan padat.

model = Sequential()
model.add(Conv1D(filters=64, kernel_size=(5), input_shape=(12,800), strides=2, padding='valid', activation='relu'))
model.add(AveragePooling1D(pool_size=2,strides=2,padding='same'))

model.add(Flatten())
model.add(Dense(7 ,activation='softmax'))

model.compile(optimizer='adam',loss='mean_squared_error',metrics=['accuracy'])
model.summary()

Kode saya untuk mendapatkan output setelah lapisan padat

inp = model.input                                           # input placeholder
outputs = [layer.output for layer in model.layers]          # all layer outputs
functor = k.function([inp, k.learning_phase()], outputs )   # evaluation function

# Testing
test = np.random.random(input_shape)[np.newaxis,...]
layer_outs = functor([test, 1.])

Tapi saya mendapatkan kesalahan ini TypeError: Cannot convert 1.0 to EagerTensor of dtype int32


person anurag shrivastava    schedule 09.07.2020    source sumber
comment
Ubah 1. (pelampung) menjadi 1 (bilangan bulat)   -  person Dr. Snoopy    schedule 09.07.2020
comment
hai, jika Anda menghapus k.learning_phase() dan memanggil fungsi hanya menggunakan input pengujian maka contoh Anda berfungsi dengan sempurna. Faktanya, K.learning_phase hanya membantu menentukan apakah itu pelatihan atau pengujian dan Anda dapat mengaturnya secara terpisah sebagai K.set_learning_phase. Jika Anda menyukai pendekatan ini, saya dapat mengunggah contoh saya. Ingat API untuk K.function mengambil input,output, pembaruan, kwarg seperti yang ditunjukkan di sini tensorflow.org/api_docs/python/tf/keras/backend/function. Untuk informasi lebih lanjut tentang K.function, lihat stackoverflow.com/questions/48142181/. Terbaik   -  person smile    schedule 09.07.2020
comment
Hai, jika Anda ingin menonaktifkan eksekusi bersemangat tf.compat.v1.disable_eager_execution() maka model Anda juga akan berfungsi dengan baik sebagaimana adanya. Terbaik   -  person smile    schedule 09.07.2020