文件夹
1./input
速度最快,但关机后内容有一定概率会丢失。若机型没有迁移选项,下次开机内容一般情况下不会丢失。
速度要求非常高,建议选择SSD机型并且将数据放入** /input **文件夹后,读取数据训练。
速度要求一般, /root文件夹,之后读取数据训练,这样可以防止下次开机时训练数据丢失。
这个文件夹在SSD硬盘空间不足的时候(剩余空间小于5GB),会保留最近登录此机器的前10个人的/input数据,其余人的/input数据会被清除。
在关机之前把他们复制到/data中
2./output
tensorboard监视的文件夹,把tensorboard要求的log输出到这个文件夹
3./data
存放从 我的数据 页面上传的文件夹,是网络存储,直接读取数据运行很慢,把数据拷贝到 /input 文件夹再训练
从/data 拷贝所有的数据到/input,使用rsync拷贝会看到拷贝的进度。
此处使用的指令是
rsync -ah --progress /data/mnist_data/ /input/mnist_data/
意思是把 /data/mnist_data/ 这个文件夹的所有内容复制到 /input/mnist_data/ 这个文件夹
从/input到/data可用
cp /input/dir_you_want /data/
运行
4.训练前后
记得把/input/mnist_data 文件夹当做数据文件夹
常用的解压命令
unzip /data/somefile.zip -d /input/dir_you_want
rsync -ah --progress /data/somefile.gz /input/ && gzip -d /input/somefile.gz
rsync -ah --progress /data/somefile.7z /input/ && 7z x /input/somefile.7z -o/input/
rsync -ah --progress /data/somefile.bz2 /input/ && bzip2 -d /input/somefile.bz2
mkdir -p /input/dir_you_want && rar x /data/somefile.rar /input/dir_you_want/
mkdir -p /input/dir_you_want && tar xvf /data/somefile.tar -C /input/dir_you_want/
mkdir -p /input/dir_you_want && tar zxvf /data/somefile.tar.gz -C /input/dir_you_want/
mkdir -p /input/dir_you_want && tar jxvf /data/somefile.tar.bz2 -C /input/dir_you_want/
技巧:
遇到 tar.7z rar.7z rar.gz rar.bz2 这样扩展名的文件先通过 p7zip gzip bzip2 解压掉最后面的扩展名,
再通过 tar rar 解压出已经解压掉一层的 .tar .rar 文件
然后将训练结果压缩后存入 /data 目录
将 /output/dir_you_want 目录压缩为 /input/file_you_want.zip 文件后移动到 /data/ 目录下
zip -r /input/file_you_want.zip /output/dir_you_want && cp /input/file_you_want.zip /data/
文件传送用winSCP、xshell、putty
5.自动关机
您可以在命令行中使用** shutdown **指令来关机,
训练完成后自动关机,python代码在训练完之后,执行 /root/shutdown.sh 来自动关机(下为python代码示例)
import os
os.system("/root/shutdown.sh")
6.后台执行
命令
setsid python train.py > /tmp/log3 2>&1 &
查看
tail -f /tmp/log3
代码微调
7.print 与 log 问题
在 python 中 print 之后需要调用** sys.stdout.flush() **才能让log实时的重定向到文件中
也可以直接
print("begin", flush=True)
迁移
8.数据迁移
暂无
可视化
9.tensorboard
由于我们的tensorboard的监视目录是 /output ,这里我们可以使用
ln -s /tmp /output
软连接的方式把 /tmp (输出数据的目录)软连接到 /output
可以执行 ll / 看到软连接已经建立完毕
下面执行 tb 回车
alias tb
用以上代码可看到tb具体执行情况
执行一下这个训练程序则可回到 我的云主机 页面,点击tensorboard链接,打开tensorboard页面,在弹出的对话框中点击 确认 按钮,可以看到tensorboard已经可视化显示出了训练的数据。
报错
10.内存或显卡
Out Of Memory 是内存不足
CUDA_ERROR_OUT_OF_MEMORY 是显存不足