Python代码问题与技巧

系统问题:

  1. conda activate 时报错 : [报错解决]CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate‘.If
    参考:本博客

  2. import numpy as np 或者import其他的报错,显示报错ImportError: DLL load failed: 找不到指定的模块的问题
    解决方法:参考博客
    若:在base环境中运行"import numpy as np"没有问题,但在虚拟环境中运行就报错。
    解决方案就是将虚拟环境中对应三个路径添加到系统环境变量Path中,然后重启vscode即可。
    在这里插入图片描述

  3. 安装compressai 出现问题:at least C++11 support is needed! 可能是因为 gcc和g++的问题
    解决方法:修复gcc g++ 如 博客
    如果在安装g++期间出现 g++ : Depends: g+±5 (>= 5.3.1-3~) but it is not going to be installed 缺少依赖包 则参考这个博客 更换源即可。更换方法 sudo vim /etc/apt/sources.list 打开后 按 i 进入修改状态,修改完后 按esc退出 然后 shift+: 输入命令 w 为 保存 q 为退出 wq为保存后退出 。 更改换完源后 使用 sudo apt update 和 sudo apt upgrade 更新 然后 apt install g++ 就可安装上了

  4. pyhton 找不到相对路径的问题
    解决方法

import os
import sys
os.chdir(sys.path[0])
  1. 生成环境所有包的名字和版本
    pip freeze > requirements.txt
    安装 pip install -r requirements.txt
  2. n秒后关闭程序
    time.sleep(n)
  3. 打包python文件为一个exe程序
pyinstaller -D 原文件名.py -n 生成文件名    (该方法会生成一个文件夹)
pyinstaller -F 原文件名.py -n 生成文件名     (该方法只会生成一个文件)
  1. 获得本脚本所在的上级目录 并作为全局变量 用于后面拼接其他路径 从而的到全局路径 这种生成全局路径的方法比直接输入好 具体介绍
import os
import sys
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
## 或者 BASE_DIR = os.path.dirname(os.path.realpath(sys.argv[0]))
new_dir = os.path.join(BASE_DIR,“子路径” )
  1. 关于优化器的学习率更新的问题:
#定义:
scheduler = torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=10, min_lr=1e-7) 
#调用(再算出本轮epoch后使用:
scheduler.step(val_loss_to_track)
# 即当 val_loss_to_track 连续patience次没有降低时, 使得optimizer的学习率降低为0.1倍 最低学习率为min_lr

=============================

技巧

10. pytorch中model eval和torch no grad()的区别
``在这里插入图片描述
==通过这种方法可以在验证集时 使用更大的batchsize 加快速度。验证和保存模型都会拖慢速度,所以在调试好程序后可以将验证集频率降低,模型保存频率也降低!! ==

常用的学习率衰减代码

1 根据sasic代码

if epoch % int(c.LR_DROP/len(train_set)) == 0 and epoch > 0:
   scheduler.step()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值