程序猿杂七杂八技巧

程序猿技巧

可通用的技巧记录



一、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.cn -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.com | 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.com改为boxcn.net。


2.huggingface.co已无法访问怎么打开?

https://hf-mirror.com/

3.github镜像链接?

git clone https://mirror.ghproxy.com/https://github.com/....
wget https://mirror.ghproxy.com/https://github.com/...

四、配环境

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xxxx
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
查看torch与torchvision的版本对应关系:

https://gitcode.net/mirrors/pytorch/vision?utm_source=csdn_github_accelerator

查看torch与torchaudio的版本对应关系:

https://pytorch.org/audio/main/installation.html

pip install torch1.8.0+cu111 torchvision0.9.0+cu111 torchaudio0.8.0 -f https://download.pytorch.org/whl/torch_stable.html
pip install torch
1.9.0+cu111 torchvision0.10.0+cu111 torchaudio0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

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运行的时候非常慢的原因很大一部分是在方法上打了断点

六、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 to True to have the data reshuffled at every epoch (default: False).
collate_fn : 传入一个处理数据的回调函数

DataLoader工作流程:

  1. 先从dataset中取出batch_size个数据
  2. 对每个batch,执行collate_fn传入的函数以改变成为适合模型的输入
  3. 下个epoch取数据前先对当前的数据集进行shuffle,以防模型学会数据的顺序而导致过拟合

画图

matplotlib工具包说明书、案例
画图不显示中文

七、MARKDOWN

MARKDOWN语法说明

八、其他

1.IKBC键盘键被锁住:“Fn+Win”

  • 20
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值