torch.load(full_model_path, weights_only=False)
加载.pth文件时,我会得到与我从未使用过的某种数字类型相关的隐秘
ValueError
ValueError: Invalid property specified for object of type plotly.graph_objs.layout.template.Data: 'heatmapgl'
there是完整的追溯:
loading model from experiment_plots/vLAYER/dnn_all_experiments_results.pth
Traceback (most recent call last):
File "/Users/name/Desktop/name/research/nn-layer-weight-experiments/create_additional_training_plots.py", line 163, in <module>
create_final_epoch_layer_plots(experiment_versions=experiment_versions, dnn_names=dnn_names)
File "/Users/name/Desktop/name/research/nn-layer-weight-experiments/create_additional_training_plots.py", line 34, in create_final_epoch_layer_plots
dnn_experiments = torch.load(full_model_path, weights_only=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/name/miniconda3/lib/python3.11/site-packages/torch/serialization.py", line 1471, in load
return _load(
^^^^^^
File "/Users/name/miniconda3/lib/python3.11/site-packages/torch/serialization.py", line 1964, in _load
result = unpickler.load()
^^^^^^^^^^^^^^^^
File "/Users/name/miniconda3/lib/python3.11/site-packages/plotly/graph_objs/_figure.py", line 641, in __init__
super(Figure, self).__init__(data, layout, frames, skip_invalid, **kwargs)
File "/Users/name/miniconda3/lib/python3.11/site-packages/plotly/basedatatypes.py", line 556, in __init__
self._layout_obj = self._layout_validator.validate_coerce(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/name/miniconda3/lib/python3.11/site-packages/_plotly_utils/basevalidators.py", line 2504, in validate_coerce
v = self.data_class(v, skip_invalid=skip_invalid, _validate=_validate)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/name/miniconda3/lib/python3.11/site-packages/plotly/graph_objs/_layout.py", line 7124, in __init__
self["template"] = _v
~~~~^^^^^^^^^^^^
File "/Users/name/miniconda3/lib/python3.11/site-packages/plotly/basedatatypes.py", line 5898, in __setitem__
super(BaseLayoutHierarchyType, self).__setitem__(prop, value)
File "/Users/name/miniconda3/lib/python3.11/site-packages/plotly/basedatatypes.py", line 4852, in __setitem__
self._set_compound_prop(prop, value)
File "/Users/name/miniconda3/lib/python3.11/site-packages/plotly/basedatatypes.py", line 5263, in _set_compound_prop
val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/name/miniconda3/lib/python3.11/site-packages/_plotly_utils/basevalidators.py", line 2797, in validate_coerce
return super(BaseTemplateValidator, self).validate_coerce(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/name/miniconda3/lib/python3.11/site-packages/_plotly_utils/basevalidators.py", line 2504, in validate_coerce
v = self.data_class(v, skip_invalid=skip_invalid, _validate=_validate)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/name/miniconda3/lib/python3.11/site-packages/plotly/graph_objs/layout/_template.py", line 327, in __init__
self["data"] = _v
~~~~^^^^^^^^
File "/Users/name/miniconda3/lib/python3.11/site-packages/plotly/basedatatypes.py", line 4852, in __setitem__
self._set_compound_prop(prop, value)
File "/Users/name/miniconda3/lib/python3.11/site-packages/plotly/basedatatypes.py", line 5263, in _set_compound_prop
val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/name/miniconda3/lib/python3.11/site-packages/_plotly_utils/basevalidators.py", line 2504, in validate_coerce
v = self.data_class(v, skip_invalid=skip_invalid, _validate=_validate)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/name/miniconda3/lib/python3.11/site-packages/plotly/graph_objs/layout/template/_data.py", line 1791, in __init__
self._process_kwargs(**dict(arg, **kwargs))
File "/Users/name/miniconda3/lib/python3.11/site-packages/plotly/basedatatypes.py", line 4378, in _process_kwargs
raise err
ValueError: Invalid property specified for object of type plotly.graph_objs.layout.template.Data: 'heatmapgl'
以下是评论到问题的摘要:
在较早的版本的
plotly
中,其Data
Data
源代码here的较早版本),而在最近的版本中,此属性已被删除(请参阅当前版本的
Data
源代码
here的当前版本)。问题及其解决方案因此如下:
Pytorch实验结果,包括
Data
类的实例,是从较早版本的python环境中保存的(在这种情况下为v5.23.0),其中
plotly
属性仍然存在。
试图加载这些结果时,heatmapgl
版本已经更新(在这种情况下为v6.0.0),并且plotly
属性已经消失,因此未划分/不重新启用heatmapgl
类实例,导致了报告的错误(“ valueError:valueRrid:niveRid属性:无效的属性…:'heatmapgl'')。
可以通过降级到先前使用的版本(v5.23.0)。