恢復預設映象源
conda config –remove-key channels
伺服器後臺執行程式
# 將日誌儲存到test.log檔案裡面
nohup python -u test.py > test.log 2>&1 &
# 執行帶配置檔案的程式碼
nohup python -u run_train.py --yaml config/train_nisqa_cnn_sa_ap.yaml > test.log 2>&1 &
# 實時檢視日誌檔案後100行
tail -fn 100 train.log
建立、刪除虛擬環境
# 建立(name:建立的環境名)
conda create -n name python=3.7(python版本自己指定)
# 刪除
conda remove -n name --all
檢視當前conda環境下的包
conda list
檢視已有的虛擬環境
conda env list
切換到想要的虛擬環境
conda activate my_env
打包虛擬環境的包
pip freeze > requirements.txt
檢視GPU memory情況
# 方法1
nvidia-smi
# 方法2
gpustat -i
GPU相關
# 指定程式碼可見GPU
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "2, 4"
# 更改使用的GPU
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"
# 指定顯示卡執行
CUDA_VISIBLE_DEVICES=0,1 python train.py
使用0卡
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu' )
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '1'
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu' )
# 指定GPU
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model = Ser_Model()
if torch.cuda.device_count() > 1: # 檢查電腦是否有多塊GPU
print(f"Let's use {torch.cuda.device_count()} GPUs!")
model = nn.DataParallel(model, device_ids=[0, 1, 2,3]) # 將模型物件轉變為多GPU並行運算的模型
model.to(device)
# 接下來的程式碼可能是
# net.to(device)
# 為了把模型和資料都轉移到這個device中,由於限定了可見cuda為1,故能指定只使用1號卡進行訓練
非root使用者賦予許可權(絕對路徑)
chmod -R 777 local/aishell_data_prep.sh
pip安裝
# torchl
https://download.pytorch.org/whl/torch_stable.html
pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ torchAUDIO==0.5.0
pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
https://pypi.tuna.tsinghua.edu.cn/simple
# 建立新環境時,安裝requirements.txt檔案內的包
pip install -r requirements.txt
# 清華源
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 更新包
pip install --upgrade 包名稱
pip換原始檔 .pip/pip.conf 資料夾.pip內 pip.conf檔案
[global]
index-url = https://pypi.douban.com/simple
[install]
use-mirrors =true
mirrors =https://pypi.douban.com/simple/
trusted-host =pypi.douban.com
下載包的網站
scp 伺服器間傳檔案
scp -r /home/jxx/anaconda3/envs/py3.8torch1.7.1/nltk_data wxc@10.100.100.100(伺服器地址):/home/wxc/anaconda3/envs/torch1.7.1/
軟連線
Ln -s 已經存在的 新創的(快捷方式)
ln -s /home/jxx/code/asr_blockformer-main/wenet /home/jxx/code/asr_blockformer-main/examples/aishell/s1/wenet
Pytorch中檢視CNN網路結構和各層輸出引數
http://www.ichenhua.cn/read/238
https://zhuanlan.zhihu.com/p/52013707/
class PrintLayer(nn.Module):
def __init__(self):
super(PrintLayer, self).__init__()
def forward(self,x):
print(x.shape)
return x
伺服器建立賬號密碼
建立賬號:sudo useradd -d "/home/cybing" -m -s "/bin/bash" cybing
設定密碼:echo -e "cyb\nc" | sudo passwd cybing
模型儲存與載入
torch.save:儲存序列化的物件到磁碟,使用了Python的pickle進行序列化,模型、張量、所有物件的字典
torch.load:使用了pickle的unpacking將pickled的物件反序列化到記憶體中
torch.nn.Module.load_state_dict:使用反序列化的state_dict載入模型的引數字典
儲存
torch.save(model.state_dict(), PATH)
載入
model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.eval()
https://blog.csdn.net/qq_39852676/article/details/100120803
# hugging face 資料集/模型下載
1.切換到需要使用的虛擬環境中
2.pip install -U huggingface_hub
3.export HF_ENDPOINT=https://hf-mirror.com (Linux)
set HF_ENDPOINT=https://hf-mirror.com (Win)
4.huggingface-cli download --resume-download --repo-type dataset --local-dir-use-symlinks False XXX --local-dir YYY
[--repo-type {model,dataset,space}]
# 例子
huggingface-cli download --resume-download --repo-type dataset --local-dir-use-symlinks False ai-habitat/hab3_bench_assets --local-dir D:\workplace\hab3_bench_assets