[英]fit_generator() in keras model
def Generate():
i = 0
while 1:
i = i%int(Numb/batch_size)
my_input_batch = my_input[i*batch_size : (i+1)*batch_size]
my_output_batch = my_output[i*batch_size : (i+1)*batch_size]
encoder_input_data = np.array(np.zeros((batch_size, max_encoder_text_length, num_dictonary),dtype='float32'))
decoder_input_data = np.array(np.zeros((batch_size, max_decoder_text_length, num_dictonary),dtype='float32'))
decoder_target_data = np.array(np.zeros((batch_size, max_decoder_text_length, num_dictonary),dtype='float32'))
for i, (text_input, text_output) in enumerate(zip(my_input_batch, my_output_batch)):
for t, word in enumerate(my_input_batch):
encoder_input_data[i, t, word] = 1.
for t, word in enumerate(my_output_batch):
decoder_input_data[i, t, word] = 1.
if t > 0:
decoder_target_data[i, t - 1, word] = 1.
i = i + 1
yield ({encoder_input_data, decoder_input_data}, {decoder_target_data})
I would like to train my model with fit_generator()
in Keras. 我想在
fit_generator()
使用fit_generator()
训练我的模型。 But when I start train I get mistakes: 但是,当我开始训练时,我会出错:
File "test.py", line 146, in Generate yield ({encoder_input_data, decoder_input_data}, {decoder_target_data})
TypeError: unhashable type: 'numpy.ndarray'
How I can solve this problem? 我该如何解决这个问题? What I do wrong?
我做错了什么?
This particular statement {encoder_input_data, decoder_input_data}, {decoder_target_data}
is creating a set
out of numpy
array. 这个特定的语句
{encoder_input_data, decoder_input_data}, {decoder_target_data}
是创建一个set
总分numpy
阵列。 That operation is not possible. 该操作是不可能的。
May be you would like to change that statement to 可能是您想将该声明更改为
yield ((encoder_input_data, decoder_input_data), (decoder_target_data))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.