job exception: object of type 'NoneType' has no len() Traceback (most recent call last): File "./source/cross_validate.py", line 193, in <module> hyperopt(cfg, logger) File "./source/cross_validate.py", line 151, in hyperopt fmin(objective, SPACE, algo=tpe.suggest, max_evals=cfg.NUM_ITERS, verbose=False) File "C:\Anaconda3\envs\PAR\lib\site-packages\hyperopt\fmin.py", line 586, in fmin rval.exhaust() File "C:\Anaconda3\envs\PAR\lib\site-packages\hyperopt\fmin.py", line 364, in exhaust self.run(self.max_evals - n_done, block_until_done=self.asynchronous) File "C:\Anaconda3\envs\PAR\lib\site-packages\hyperopt\fmin.py", line 300, in run self.serial_evaluate() File "C:\Anaconda3\envs\PAR\lib\site-packages\hyperopt\fmin.py", line 178, in serial_evaluate result = self.domain.evaluate(spec, ctrl) File "C:\Anaconda3\envs\PAR\lib\site-packages\hyperopt\base.py", line 892, in evaluate rval = self.fn(pyll_rval) File "./source/cross_validate.py", line 130, in objective temp_model = MGraphDTA(out_dim=(len(cfg.DATA.TASK_NAME)) * 2, filter_num=32) TypeError: object of type 'NoneType' has no len()
时间: 2023-08-12 22:08:00 浏览: 48
这个错误的意思是你尝试在一个 `NoneType` 对象上使用 `len()` 函数。在你的代码中,这个错误可能是在下面这行代码中引起的:
```
temp_model = MGraphDTA(out_dim=(len(cfg.DATA.TASK_NAME)) * 2, filter_num=32)
```
它告诉我们,`len(cfg.DATA.TASK_NAME)` 返回了 `None`,而不是一个整数值。这可能是因为 `cfg.DATA.TASK_NAME` 是一个空列表或者是一个空对象。
你可以在调用 `len()` 之前先检查一下 `cfg.DATA.TASK_NAME` 是否有值或者是否为空。例如:
```
if cfg.DATA.TASK_NAME:
out_dim = len(cfg.DATA.TASK_NAME) * 2
else:
out_dim = 0
temp_model = MGraphDTA(out_dim=out_dim, filter_num=32)
```
这样,即使 `cfg.DATA.TASK_NAME` 是空的,你也可以避免这个错误。
相关问题
Traceback ( most recent call last ) :File " C:/python/kfc.py " , line 8
Traceback (most recent call last): File "C:/python/kfc.py", line 8
这是Python中的错误追踪信息,通常在程序出现错误时会显示。它告诉我们在哪个文件的哪一行出现了错误。
具体来说,"Traceback (most recent call last)" 表示错误追踪的开始,它告诉我们下面的信息是最近一次调用的错误。
"File "C:/python/kfc.py", line 8" 表示错误发生在文件 "C:/python/kfc.py" 的第8行。
如果你想解决这个错误,可以打开 "C:/python/kfc.py" 文件,并检查第8行的代码,看看是否有语法错误或逻辑错误。
pycharm Traceback (most recent call last): .....
这是一个Python程序运行时的错误信息,称为Traceback。它会告诉你程序在哪里出错了以及出错的原因。通常,最后一行会给出错误类型和错误消息。在这个例子中,最后一行可能会给出类似于“FileNotFoundError: [Errno 2] No such file or directory: 'example.py'”这样的错误消息,表示程序无法找到名为example.py的文件。要解决这个问题,你需要检查文件路径是否正确,并确保文件名正确拼写。如果文件确实存在,那么可能是文件权限或其他问题导致程序无法读取文件。你可以尝试使用try-except语句来捕获这些错误并进行处理。