CancelledError: [_Derived_]RecvAsync is cancelled.

部分代码:

print("Defining model...")
model = Sequential()
model.add(Embedding(output_dim=100, input_dim=len(unique_tokens), mask_zero=True))
# model.add(Bidirectional(LSTM(50, return_sequences=True)))
model.add(Bidirectional(LSTM(50, return_sequences=True, activation="tanh",recurrent_activation="sigmoid",recurrent_dropout=0.0, unroll=False,use_bias=True)))
model.add(Dropout(0.2))
# model.add(Bidirectional(LSTM(50, activation="relu", return_sequences=False)))
model.add(Bidirectional(LSTM(50, activation="relu", return_sequences=False,recurrent_activation="sigmoid",recurrent_dropout=0.0, unroll=False,use_bias=True)))
model.add(Dropout(0.2))
model.add(Dense(50, activation="linear"))
model.add(Dropout(0.2))
model.add(Dense(len(unique_tokens), activation="softmax"))

model.compile(loss="categorical_crossentropy", optimizer="nadam", metrics=["accuracy"])

training_data = BatchGenerator(512, np.asarray(X), np.asarray(seq_y), ohe)


model.fit_generator(training_data.__iter__(),
    steps_per_epoch=training_data.n_batches,
    epochs=1, verbose=1)

在使用keras中的LSTM模型的时候,出现警告:

lstm_1 will not use cuDNN kernel since it doesn't meet the cuDNN kernel criteria.

程序继续向下执行,在model.fig_generator步骤出现下面的错误:

CancelledError: [_Derived_]RecvAsync is cancelled.
[[{{node Nadam/Nadam/update/ReadVariableOp_4/_187}}]]
[[gradient_tape/sequential/embedding/embedding_lookup/Reshape/_176]] [Op:__inference_train_function_19125]

Function call stack:
train_function

 

https://github.com/keras-team/keras/issues/12379,查询资料后,发现如下图:

可知,这是因为使用keras的时候,虽然keras内部会调用tensorflow的接口,但是,它内部调用的tensorflow的版本并不一定和我们系统中安装的tensorflow的版本相同。因此,下面的库引入的方式存在一定的问题:

from keras.layers import Dense, LSTM, Dropout, Embedding
from keras.layers.wrappers import Bidirectional
from keras.models import Model, Sequential
from keras.utils import np_utils
from keras.layers import TimeDistributed
from keras.models import load_model

所以需要改为如下的库引入方式,即把kerras.xxx.xxx替换为tensorflow.python.keras.xxx.xxx

from tensorflow.python.keras.layers import Dense, LSTM, Dropout, Embedding
from tensorflow.python.keras.layers.wrappers import Bidirectional
from tensorflow.python.keras.models import Model,Sequential
from tensorflow.python.keras.utils import np_utils
from tensorflow.python.keras.layers import TimeDistributed
from tensorflow.python.keras.models import load_model

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值