冰棍不加糖 2021-03-19 22:28 采纳率: 0%
浏览 319

python提示错误TypeError: Can not convert a NoneType...

在练习书上案例进行IMDb情感分析的时候,对于model.fit()行提示错误TypeError: Can not convert a NoneType into a Tensor or Operation.。具体如下。

    train_history=model.fit(x_train,y_train,batch_size=100,epochs=10,verbose=2,validation_split=0.2)

  File "D:\Anaconda3\envs\tensorFlow\lib\site-packages\keras\engine\training.py", line 1213, in fit
    self._make_train_function()

  File "D:\Anaconda3\envs\tensorFlow\lib\site-packages\keras\engine\training.py", line 316, in _make_train_function
    loss=self.total_loss)

  File "D:\Anaconda3\envs\tensorFlow\lib\site-packages\tensorflow_core\python\keras\optimizer_v2\optimizer_v2.py", line 509, in get_updates
    return [self.apply_gradients(grads_and_vars)]

  File "D:\Anaconda3\envs\tensorFlow\lib\site-packages\tensorflow_core\python\keras\optimizer_v2\optimizer_v2.py", line 444, in apply_gradients
    kwargs={"name": name})

  File "D:\Anaconda3\envs\tensorFlow\lib\site-packages\tensorflow_core\python\distribute\distribute_lib.py", line 1949, in merge_call
    return self._merge_call(merge_fn, args, kwargs)

  File "D:\Anaconda3\envs\tensorFlow\lib\site-packages\tensorflow_core\python\distribute\distribute_lib.py", line 1956, in _merge_call
    return merge_fn(self._strategy, *args, **kwargs)

  File "D:\Anaconda3\envs\tensorFlow\lib\site-packages\tensorflow_core\python\keras\optimizer_v2\optimizer_v2.py", line 497, in _distributed_apply
    with ops.control_dependencies(update_ops):

  File "D:\Anaconda3\envs\tensorFlow\lib\site-packages\tensorflow_core\python\framework\ops.py", line 5159, in control_dependencies
    return get_default_graph().control_dependencies(control_inputs)

  File "D:\Anaconda3\envs\tensorFlow\lib\site-packages\tensorflow_core\python\framework\func_graph.py", line 360, in control_dependencies
    return super(FuncGraph, self).control_dependencies(filtered_control_inputs)

  File "D:\Anaconda3\envs\tensorFlow\lib\site-packages\tensorflow_core\python\framework\ops.py", line 4583, in control_dependencies
    c = self.as_graph_element(c)

  File "D:\Anaconda3\envs\tensorFlow\lib\site-packages\tensorflow_core\python\framework\ops.py", line 3505, in as_graph_element
    return self._as_graph_element_locked(obj, allow_tensor, allow_operation)

  File "D:\Anaconda3\envs\tensorFlow\lib\site-packages\tensorflow_core\python\framework\ops.py", line 3594, in _as_graph_element_locked
    (type(obj).__name__, types_str))

 

但是我传入训练的x_trian和y_train都不含null或字符串,不知道有没有大佬解答一下。

def read_files(filetype):
    path="data/aclImdb/"
    file_list=[]
    positive_path=path+filetype+'/pos/'
    for f in os.listdir(positive_path):#listdir可以生成列表存储指定路径下的一级文件目录
        file_list+=[positive_path+f]
    negtive_path=path+filetype+'/neg/'
    for f in os.listdir(negtive_path):
        file_list+=[negtive_path+f]
    print('read',filetype,'files:',len(file_list))
    all_labels=([1]*12500+[0]*12500)
    all_texts=[]
    for fi in file_list:
        with open(fi,encoding='utf8') as file_input:
            all_texts+=[rm_tags(''.join(file_input.readlines()))]
    return all_labels,all_texts
y_train,train_text=read_files('train')
y_test,test_text=read_files('test')

token=Tokenizer(num_words=2000)#创建词典
token.fit_on_texts(train_text)#依据频率排序并创建

x_train_seq=token.texts_to_sequences(train_text)#将文本按照词典编号转化为序列
x_test_seq=token.texts_to_sequences(test_text)

x_train=sequence.pad_sequences(x_train_seq,maxlen=100)
x_test=sequence.pad_sequences(x_test_seq,maxlen=100)

这里生成x_train,大小为(25000,100)的array of int32和y_train,大小为25000的list,转化为array也没有用。

以下为模型构建过程。救救孩子吧。

model=Sequential()
model.add(Embedding(output_dim=32,input_dim=2000,input_length=100))
model.add(Dropout(0.2))
model.add(Flatten())
model.add(Dense(units=256,activation='relu'))
model.add(Dropout(0.35))
model.add(Dense(units=1,activation='sigmoid'))
model.summary()
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])
train_history=model.fit(x_train,y_train,batch_size=100,epochs=10,verbose=2,validation_split=0.2)
  • 写回答

3条回答 默认 最新

  • herosunly Python领域优质创作者 2021-03-19 23:17
    关注

    把完整的代码和数据发给我,有空了帮你看看。

    评论

报告相同问题?

悬赏问题

  • ¥100 python 调用 cgps 命令获取 实时位置信息
  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了