问题描述
我正在研究使用Python的优化技术,因为唯一参数集的数量很高,所以我试图使用tqdm状态栏对象来跟踪已完成的参数计算的数量。但是,我发现很难从我正在使用的回调函数中更新tqdm状态栏。我试图为tqdm对象使用“全局”变量实例化,也试图在我创建的类中使用return,而不是将tqdm对象作为属性。由于回溯会引发名称错误,因此它们似乎都无法正常工作:名称“ tqdm_object未定义”。我的代码结构如下:
if __name__=="__main__":
class_instance = Main_Class()
class_instance.build_params(--lists of variables--)
# global tqdm_object
tqdm_object = class_instance.status_bar()
class_instance.callback(some_function)
class Main_Class:
def status_bar(self):
return tqdm(desc='Optimization Runs',total=10000,smoothing=0.5,position=0,leave=False)
# self.tqdm_bar = tqdm(desc='Optimization Runs',leave=False)
def some_function(**params):
--some calculations and saving results--
tqdm_object.update()
既不能使用global,也不能访问self.tqdm_bar(即从some_function()内部访问class_instance.tqdm_bar.update())。有没有办法可以在Python中做到这一点?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)