1、在命令行模式下自定义包的导入问题
在IDE下会自动把路径给填上所以对于以下结构:
PROJECT:
A:
testA.py
B:
testB.py
在testA中导入B可以直接from B import A,但是如果用命令行则不可以,命令行引用的是当前目录,需要将工程目录添加到环境变量中。或者所有文件同级。
2、无图形界面的linux跑matplotlib画图问题
无GUI的Linux如果跑matplutlib可能会有tikinker模块找不到的问题.解决办法:
在import matplutlib 加入matplotlib.use("agg")语句
3、pytorch 中cudnn.benchmark = True有什么作用
设置这个 flag 可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题。
使用应遵循以下原则:
遵循以下准则:
- 如果网络的输入数据维度或类型上变化不大,设置 torch.backends.cudnn.benchmark=true 可以增加运行效率;
- 如果网络的输入数据在每次 iteration 都变化的话,会导致 cnDNN 每次都会去寻找一遍最优配置,这样反而会降低运行效率。
4、gym库抛异常Exception ignored in: <bound method Viewer.__del__ of <gym.envs.classic_control.rendering.Viewer object at xxx
gym环境的在结束是需要关闭环境即调用close()函数
e = gym.make('CartPole-v0')//环境
e.reset()//重置
for _ in range(100)://玩
e.step(e.action_space.sample())
e.render()
e.close()//关闭环境,若少了这步即产生上述异常