python报错如下:TypeError: cannot unpack non-iterable NoneType object解决方法:报错的原因是函数返回值得数量不一致,查看函数返回值数量和调用函数时接收返回值的数量是不是一致,修改一致即可... 写了一个测试,个人理解这样的问题是因为将 Non e值多次赋给某个值。测试如下 1. 该段代码没有写else。 python 在 if 语句无else的情况下返回的值为 Non e,由于是无迭代的返回( non - iterable )因此可以运行 flag = False 在输入bert-serving-start -model_dir chinese_L-12_H-768_A-12 -num_worker 1 -max_seq_len 64的情况下报出 TypeError :Cannot un pack non - iterable NoneType object 的错误 查看启动路径是否正确,-model_dir 此时,异常会定位到由 Fun(1)这一行产生。原因是: 1、满足条件的分支没有显式返回值时, Python 默认会返回 Non e; 2、当if条件不满足,并且没有else语句时;函数会默认返回 Non e。 调用时,将 Non e赋给多个值时,会出现提示: TypeError : ‘ NoneType object is not iterabl 分析:这个bug有几个奇怪的地方: 1、网络在训练的时候,出现了loss = inf 的情况,是在epoch = 1 的中间部分,出现了loss = inf 的情况,接下来的每一轮都是loss = inf的情况; 2、网络训练到一半突然报错; 3、报错的问题,根据网上的解决方法并没有解决。 Debug的思路: 1、之前网络复现的时候,是可以训练结束的,同时得到相应的结果。 但是我也发现了一些问题,就是loss也是inf,但是可以得到相应的结果。 因为 Traceback (most recent call last): File "D:/pytest/thread_test/subprocess_pipe.py", line 5, in <module> a,b = test() TypeError : cannot un pack non - iterable int object 很明显是函数返回参数个数
1.保证TensorFlow版本不要太高,不能是2.x的版本,本人安装1.15.0版本有效 2.保证numpy版本不能过高,本人安装1.16.0版本有效 3.保证在main函数内运行,即if __name__== '__main__':下运行 必须保证三个条件均满足
Python 关于 Non e的报错:' NoneType ' object is not iterable 和cannot un pack non - iterable NoneType object
关于 Non e值的报错 一、 TypeError :‘ NoneType object is not iterable (Type错误:' NoneType ’对象不是可迭代的) 原因:遍历的对象为 Non e 。 items = Non e for item in items: print(item) Traceback (most recent call last): File ...
TypeError : cannot un pack non - iterable int object 报错如下原因分析 TypeError : cannot un pack non - iterable int object 函数返回值得数量不一致,检查函数返回值数量以及调用函数返回值数量,并确保一致即可。 或许大家会用到 if 语句,这时需要检查 if 与 else 下的 返回值数量 是否一致,不一致也会报错。如下所示action, value = self.best_action(state)