环境名称以test为例,Python版本以3.6为例
1.创建虚拟环境
conda create -n test python=3.6
2.激活虚拟环境
conda activate test
3.在虚拟环境中下载kernel
pip install --user ipykernel
4.将环境添加到jupyter notebook中
python -m ipykernel install --user --name=test
5.从jupyter notebook中移出虚拟环境
jupyter kernelspec list
jupyter kernelspec uninstall test
6.删除虚拟环境
conda env list
conda remove -n test --all
7.关于在服务器上进行模型训练可能会受本地网络扰动的解决–screen
创建screen不指定名称
screen
创建screen带有指定名称(例如test)
screen -S test
查看screen列表
screen -ls
进入指定screen
screen -r test/id
正常情况脱离screen
ctrl+a+d
非正常情况脱离screen
screen -d test/id
正常结束screen
exit
非正常结束screen
screen -S test -X quit
复制备份一份环境用来测试新包用:
conda env list
conda create -n 新环境名 --clone 旧环境名
清除notebook页面输出缓存过大导致崩溃打不开
jupyter nbconvert --=True --inplace
在看到提示升级pip时,执行命令 pip3 install --upgrade pip后,jupyter notebook运行程序报错时总是提升找不到/var/folders/1z/d7jncgd13d95z730clvn910c0000gn/T/ipykernel_16422/并且显示不出具体的报错代码信息.排查后发现是tornado的问题,直接卸载重装,重启kernel后解决
pip uninstall tornado
pip install tornado
key interrupt 模型训练,导致显存还在占用,可使用以下3种方法递增处理.
kill -9 pid
killall -9 usrname
fuser -v /dev/nvidia*
查看pid,然后kill掉.
查看详细kill原因
dmesg -T | grep -E -i -B100 'killed process'
首先由于输出显示程序收到了 SIGTERM 信号,所以尝试寻找发出对应信号的位置。由于发送信号的行为需要经过操作系统 kernel,这里可以通过 dmesg 命令查看最近的内核操作(实际是输出了内核中记录行为的 kernel ring buffer 的内容)来查看是否存在相关的信息。具体命令如下所示,其中 dmesg 的 -T 选项表示显示命令的操作时间。grep 的 -E 参数表示使用拓展的正则表达式进行匹配。 -i 参数表示忽略匹配的大小写问题,-B num 参数表示在匹配行之前另外输出 num 行的数据,主要可以用来看是否有上下文的相关信息。命令来自What killed my process and why?