tensorflow - 'NoneType' 对象在调用 model.fit_generator() 时不可调用
问题描述
def data_generator(descriptions, photos, wordtoix, max_length, num_photos_per_batch):
X1, X2, y = list(), list(), list()
n=0
# loop for ever over images
while 1:
for key, desc_list in descriptions.items():
n+=1
# retrieve the photo feature
photo = photos[key]
for desc in desc_list:
# encode the sequence
seq = [wordtoix[word] for word in desc.split(' ') if word in wordtoix]
# split one sequence into multiple X, y pairs
for i in range(1, len(seq)):
# split into input and output pair
in_seq, out_seq = seq[:i], seq[i]
# pad input sequence
in_seq = pad_sequences([in_seq], maxlen=max_length)[0]
# encode output sequence
out_seq = to_categorical([out_seq], num_classes=vocaab_size)[0]
# store
X1.append(photo)
X2.append(in_seq)
y.append(out_seq)
# yield the batch data
if n==num_photos_per_batch:
yield [[array(X1), array(X2)], array(y)]
X1, X2, y = list(), list(), list()
n=0
for i in range(epochs):
generator = data_generator(mapping, train_features, word2ix, max_length, 3)
#print(generator)
model.fit_generator(generator,epochs=1,steps_per_epoch=steps,verbose=1,callbacks=None)
model.save('./model_weights/model_' + str(i) + '.h5')
TypeError Traceback (最近一次调用最后一次) in () 2 generator = data_generator(mapping, train_features, word2ix, max_length, 3) 3 #print(generator) ----> 4 model.fit_generator(generator,epochs=1,steps_per_epoch=步骤,verbose=1,callbacks=None) 5 model.save('./model_weights/model_' + str(i) + '.h5')
5 帧 /usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/def_function.py in _call(self, *args, **kwds) 805 # 在这种情况下我们在第一次创建了变量调用,所以我们运行 806 # defunned 版本,它保证永远不会创建变量。--> 807 return self._stateless_fn(*args, **kwds) # pylint: disable=not-callable 808 elif self._stateful_fn is not None: 809 # 提前释放锁,让多个线程可以执行调用
TypeError:“NoneType”对象不可调用
解决方案
推荐阅读
- javascript - angularjs 承诺/超时:条件超时
- angular6 - 反应式表单 - 在提交时,检查表单中是否至少有一项更改,然后才调用 API
- ionic4 - Ionic 4 迁移:IonicModule 更改
- javascript - setTimeout() 跳转到数组的最后一个元素我该如何防止这种情况?
- mysql - 我需要在下面的 sql 查询中使用什么类型的连接来检索正确的结果?
- node.js - 服务器端渲染和生成缓存的 index.html(Vuejs、Nodejs)
- javascript - 从 ftp 运行时“THREE.GLTFLoader: Unable to parse model”
- sql - SQL - 在单个记录中分组和汇总
- django - 无法在 VueJs 中从 Django API 渲染图像
- javascript - 方法不等待异步 REST 调用