🐛 Bug
在调用run.close()后,检查运行对象的active属性时会引发TypeError。
In [5]: run = aim.Run()
In [6]: run.active
Out[6]: True
In [7]: run.close()
In [8]: run.active
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[8], line 1
----> 1 run.active
File ~/.pyenv/versions/3.11.8/envs/nabla-3.11.8/lib/python3.11/site-packages/aim/sdk/run.py:217, in StructuredRunMixin.active(self)
209 @property
210 def active(self):
211 """Check if run is active or not.
212
213 :getter: Returns run's active state.
214 :type: bool
215 """
217 if self.end_time:
218 return False
219 else:
File ~/.pyenv/versions/3.11.8/envs/nabla-3.11.8/lib/python3.11/site-packages/aim/sdk/run.py:192, in StructuredRunMixin.end_time(self)
187 """Run finalization time [UTC] as timestamp.
188
189 :getter: Returns run finalization time.
190 """
191 try:
----> 192 return self.meta_run_tree['end_time']
193 except KeyError:
194 # run saved with old version. fallback to sqlite data
195 return self.props.end_time
TypeError: 'NoneType' object is not subscriptable
重现问题
- 使用aim.Run()初始化一个运行对象。
- 检查运行对象的active属性(它按预期返回True)。
- 使用run.close()关闭运行对象。
- 再次检查运行对象的active属性。
预期行为
在调用run.close()之后,active属性应返回False,而不引发异常。
环境
- aim==3.19.2
aim-ui==3.19.2
aimrecords==0.0.7
aimrocks==0.4.0
- Python 3.11.8
- pip 24.0
- Linux
附加信息
错误似乎是由self.meta_run_tree['end_time']返回None引起的。在尝试读取end_time键之前,应添加一个检查以确保self.meta_run_tree不是None。感谢您关注此问题。
1条答案
按热度按时间mfpqipee1#
嘿,@awav!非常感谢你打开这个问题。我会调查它,一旦修复完成就会发布一个更新。