admin管理员组文章数量:1587995
程序猿技巧
可通用的技巧记录
文章目录
- 程序猿技巧
- 一、Vscode编译器使用
- VSCODE如何debug调试?
- VScode 和SSH使用
- vscode SSH第二种方法zerotier(麻烦)
- vscode选择python解释器(conda环境)
- 二、运行代码
- 三、下载
- 1.怎么打开国外分享的BOX链接?
- 2.huggingface.co已无法访问怎么打开?
- 3.github镜像链接?
- 四、配conda环境
- 检查 CUDA、cuDNN 是否安装成功
- RuntimeError: cusolver error: 7, when calling cusolverDnCreate(handle)
- 五、pycharm
- 通过pycharm远程连接服务器
- pycharm debug时变量值显示不出,显示太慢
- Pycharm在Debug时Tensor张量显示不全
- 六、Python
- Python报错
- 绝对路径或者相对路径也无法导入相邻目录文件的函数包?
- DataLoader
- 自动创建文件夹
- 画图
- 七、MARKDOWN
- 八、其他
- 1.IKBC键盘键被锁住:“Fn+Win”
一、Vscode编译器使用
VSCODE如何debug调试?
1.输入外部参数dubug
打开一个项目,会生成一个".vscode/lauch.json"文件,该项目目录里的代码共用该文件,文件可以有多个configuration参数模块,每个configuration参数模块可以配置conda环境,可以输入外部参数。不同的python文件如果debug参数不同,要针对各python文件写configuration参数模块并修改“name”,或每次直接修改launch.json,又或者为各python文件另开一个单独的项目窗口。
注意:
“直接选择python解释器”的优先级大于".vscode/lauch.json"文件。
此方式下,使用界面左上角的debug按钮或者用F5键进行调试;不要使用右上角的debug按钮,不然不调用配置的环境和参数。
配置参数:
通过add configure修改launch.json文件;
配置"args"修改输入参数,args的参数格式 [“–xxx”,“xxxx”],多个参数之间用逗号隔开。
配置"pythonPath"配置conda环境。调试时,要打开想要调试的python文件窗口。
修改“name”指定某python文件参数模块
"args": ["--dataset","nell",
"--data_dir","../prob-cbr-data/",
"--expt_dir","../prob-cbr-expts/",
"--subgraph_file_name","paths_1000_3hop_no_loop.pkl",
"--max_num_programs","25",
"--k_adj","15","--linkage","0.95",
"--num_paths_to_collect","1000",
"--max_path_len","3",
"--prevent_loops","1",
"--name_of_run","nell_3hop_noloop_test"
]
"pythonPath":"/home/bcng1/miniconda3/envs/python3_9_torch/bin/python"
代码中的“add_argument”中的输入参数名要与launch.json中的配置参数名保持一致,不然无法识别。
group.add_argument('-train_src', required=True,
help="Path to the training source data")
"args": ["-train_src","../prob-cbr-data/" ]
2.无需输入外部参数dubug
直接选择conda环境(ctrl+shift+p),右上角debug键编译。
VScode 和SSH使用
VScode 和SSH使用
VScode 和SSH使用
----------------------------------------------以下是vip流程--------------------------------------------------------------------------------
SSH使用的TCP协议。
升级为pro套餐
使用命令 ./cpolar authtoken xxxxx
使用命令启用WEB UI服务 sudo systemctl enable cpolar;sudo systemctl start cpolar;sudo systemctl status cpolar
保留tcp域名
设置仪表盘http://127.0.0.1:9200
Host <远程主机名称1>
HostName <远程主机1 IP>
User <用户名1>
Port <ssh端口,默认22>
IdentityFile <本机SSH私钥路径>
ForwardAgent yes <VSCode 自己添加的,不用管>
保存的文件位置 /usr/local/etc/cpolar/cpolar.yml
不用每次输密码的操作
----------------------------------------------以下是非vip流程--------------------------------------------------------------------------------
cpolar tcp -region=cn_vip 22
ssh root@2.tcp.vip.cpolar -p 14170
cpolar start tunnel-1
sudo systemctl restart cpolar
Cpolar文档
vscode SSH第二种方法zerotier(麻烦)
相关的zerotier简明教程(该博文搭建了中转服务器,因为如果透传没有打通,走美国官方中转服务器,延时会非常非常高)
使用zerotierUDP打洞软件对服务器进行配置,分配一个局域网IP地址,笔记本通过IP地址、端口号、登录密码即可远程操作服务器
服务器端linux的操作:
sudo apt install curl
curl -s https://install.zerotier | sudo bash #可能较慢
sudo killall -9 zerotier-one #可能很难成功,运行个10遍
sudo zerotier-one -d
sudo zerotier-cli join af78bf943680ff4f #af78bf943680ff4f 是xx在zerotier创建的公域账号,无需密码即可加入该网络,也可以自己去zerotier注册
ip a #inet 172.22.73.190 … scope global… 是服务器的访问ip地址
客户window端的操作
安装zerotier-one软件
在 join new network 中输入要加入的网络,如“af78bf943680ff4f ”
在xftp、vscode中配置远程连接
Host 172.22.73.190
HostName 172.22.73.190
User bcng1
Port 22
如果出现服务器ip地址更换连接不上:服务器使用ip a
命令查询新的ip地址,客户端用新的ip地址连接,如果ping
不通,服务器和客户端都重启再试一下。
vscode选择python解释器(conda环境)
界面右下角可选择环境,或者如下
CTRL+shift+P
select interpreter
二、运行代码
三、下载
下载数据集等
1.怎么打开国外分享的BOX链接?
可能是由于无法直接打开国外的链接,因此我们需要把国外的链接修改为国内的。
将链接中的box改为boxcn。
2.huggingface.co已无法访问怎么打开?
https://hf-mirror/
3.github镜像链接?
git clone https://mirror.ghproxy.com/https://github.com/....
wget https://mirror.ghproxy.com/https://github.com/...
四、配conda环境
pip install -i https://pypi.tuna.tsinghua.edu/simple xxxx
镜像源合集
清华:https://pypi.tuna.tsinghua.edu/simple
阿里云:http://mirrors.aliyun/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu/simple/
华中理工大学:http://pypi.hustunique/
山东理工大学:http://pypi.sdutlinux/
豆瓣:http://pypi.douban/simple/
查看torch与torchvision的版本对应关系:
查看torch与torchaudio的版本对应关系:
https://pytorch/audio/main/installation.html
pip install torch1.8.0+cu111 torchvision0.9.0+cu111 torchaudio0.8.0 -f https://download.pytorch/whl/torch_stable.html
pip install torch1.9.0+cu111 torchvision0.10.0+cu111 torchaudio0.9.0 -f https://download.pytorch/whl/torch_stable.html
pip install torch2.0.0+cu118 torchvision0.15.0+cu118 -f https://download.pytorch/whl/torch_stable.html
pip install torchvision==0.19 -f https://download.pytorch/whl/torch_stable.html
conda config --add channels https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu/anaconda/cloud/conda-forge/
Ubuntu安装anaconda+cuda+cudnn+pytorch
PREVIOUS VERSIONS OF PYTORCH
检查 CUDA、cuDNN 是否安装成功
import torch
print(torch.version.cuda)#返回 cuda 版本号
print(torch.backends.cudnn.version())#返回 cuDNN 的 版本号
torch.cuda.is_available()#返回是 True,说明 CUDA 和 GPU 驱动的搭配是正确的
RuntimeError: cusolver error: 7, when calling cusolverDnCreate(handle)
CUDA驱动程序、cuSOLVER库以及CUDA Toolkit的版本不兼容,查看cuda驱动版本,下载与cuda驱动匹配的torch包。
五、pycharm
通过pycharm远程连接服务器
1.专业版,可通过edu邮箱注册下载专业版pycharm
2.配置服务器名称、地址、密码
file/remote development/
pycharm debug时变量值显示不出,显示太慢
Preference --> python debugger --> Gevent compatible
Debug运行的时候非常慢的原因很大一部分是在方法上打了断点
Pycharm在Debug时Tensor张量显示不全
np.array(x.data.cpu())
六、Python
Python报错
NAN问题:数据读取和预处理比如维度有问题,导致出现NAN;数据的问题导致梯度无法计算。
trigger问题:通常不是真正的问题,要找到真正的bug。
绝对路径或者相对路径也无法导入相邻目录文件的函数包?
使用以下命令
import os, sys
sys.path.append(os.getcwd())
import sys
sys.path.append('.')
DataLoader
DataLoader主要有以下几个参数:
Args:
dataset (Dataset): dataset from which to load the data.
batch_size (int, optional): how many samples per batch to load(default:1
).
shuffle (bool, optional): set toTrue
to have the data reshuffled at every epoch (default:False
).
collate_fn : 传入一个处理数据的回调函数
DataLoader工作流程:
- 先从dataset中取出batch_size个数据
- 对每个batch,执行collate_fn传入的函数以改变成为适合模型的输入
- 下个epoch取数据前先对当前的数据集进行shuffle,以防模型学会数据的顺序而导致过拟合
自动创建文件夹
import os
# 获取当前脚本绝对路径
script_path = os.path.abspath(__file__)
# 获取当前脚本所在目录的绝对路径
script_directory = os.path.dirname(script_path)
#所在目录基础上增加修改
args.valid_path = "/checkpoints"
args.valid_path = script_directory + args.valid_path
if not os.path.exists(args.valid_path):
os.makedirs(args.valid_path)#创建文件夹
import os
#在本目录下创建文件夹
folder_to_store_checkpoints = f"./checkpoints"#注意是./
# Create the directory if it doesn't already exist
os.makedirs(folder_to_store_checkpoints, exist_ok=True)
画图
matplotlib工具包说明书、案例
画图不显示中文
七、MARKDOWN
MARKDOWN语法说明
八、其他
1.IKBC键盘键被锁住:“Fn+Win”
版权声明:本文标题:程序猿杂七杂八技巧 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728024761a1142573.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论