写在前面
图像分割的上一节中手写数字分类网络没什么问题,新手唯一需要注意的是原文中打开DIGITS的地址: http://127.0.0.1:5000 这个是因人而异的。如果你使用putty等SSH工具远程登录,你的地址就是你使用SSH工具登录时的那个地址+:5000 比如我的就是 http://192.168.0.101:5000
说起SSH也算是为今天的内容点题了。书中在制作数据集时,下载了很多辅助工具。如制作手写数字分类数据集时下载了KolourPaint,制作本节图像分割数据集时下载了pyqt5和labelme。我强烈建议你只将nano作为一个部署模型的设备,这些数据集制作工作或者训练任务都在你的笔记本上完成。换句话说将nano作为服务器,你的个人电脑作为主机时极为便利的。
这次写一写如何使用ubuntu登录nano以及传输文件
启动ssh
1 好消息是你的ubuntu中一般已经安装了SSH工具,如果没有安装使用下面命令安装即可
apt-get updateapt-get install openssh-server
2 启动ssh服务
ssh -X [user]@ip如:ssh -X yu@192.168.0.101
传输文件
3 从服务器上下载文件
scp username@servername:/path/filename /var/www/local_dir(本地目录)
例如scp yu@192.168.0.101:/var/www/test.txt var/www/local_di
把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)
4上传本地文件到服务器
scp /path/filename username@servername:/path
例如scp /var/www/test.php root@192.168.0.101:/var/www/
把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中
5 从服务器下载整个目录
scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)
例如:scp -r root@192.168.0.101:/var/www/test /var/www/
从服务器root@192.168.0.101:/var/www/test下载整个目录到/var/www/
6 上传目录到服务器
scp -r local_dir username@servername:remote_dir
例如:scp -r test root@192.168.0.101:/var/www/
把当前目录下的test目录上传到服务器的/var/www/ 目录
一处小错误的更正
将json文件转化为png文件的那个脚本(也就是create_labels.sh脚本)使用时需要注意
7 如果运行脚本时显示: labelme_json_to_dataset: command not found 这是labelme工具的问题,可以重新安装,安装命令为:sudo pip install labelme -i https://pypi.doubanio.com/simple
8 书中所有$符号后面的空格均需删除。一个简便的方法是直接用书中给的百度网盘链接中的脚本文件
9 还是强调一下,尽量不要使用nano进行训练,nano设计的初衷就是部署边缘段,如果不使用DC直流供电可能会死机。但如果你只是想驱动nano,训练一个小数据集测试一下其性能,keep_dropping_caches.sh脚本很好用。
keep_dropping_caches.sh
#!/bin/bash
SLEEPINTERVAL=1
while true;
dosysctl -w vm.drop_caches=3sleep $SLEEPINTERVAL
done
###注意一下:有人回复我说nano在进行训练时会出现自动中断,返回报错:train caffe model task failed with error code -9 这个错误,我的解决办法是关掉keep_dropping_caches.sh脚本即可,目前原因不明。