假设已经下载好数据集和验证集,存储路径为:
/path/to/imagenet/train/n01440764/n01440764_10026.JPEG
/path/to/imagenet/val/ILSVRC2012_val_00000001.JPEG
首选需要创建一个txt文件,列举出所有图像以及对应的lable,caffe包“Python/caffe/imagenet/ilsvrc_2012_train.txt”和“ilsvrc_2012_val.txt”两个文件分别是标好的训练集和验证集的文件,共分为1000类。
还需要注意的是,所有的图像都需要归一到同样的尺寸。
2、转化生成训练集。
运行下面的命令:
GLOG_logtostderr=1 examples/convert_imageset.bin /path/to/imagenet/train/ python/caffe/imagenet/ilsvrc_2012_train.txt/path/to/imagenet-train-leveldb
生成文件存储在“/path/to/imagenet-train_leveldb”路径下。
3、计算图像均值。
执行命令:
examples/demo_compute_image_mean.bin /path/to/imagenet-train-leveldb /path/to/mean.binaryproto
第一个参数是执行脚本代码,第二个参数是上一步生成的数据集,第三个参数是存储图像均值的目录路径。
4、定义网络。
ImageNet的网络定义在“examples/imagenet.prototxt”文件中,使用时需要修改里面source和meanfile变量的值,指向自己文件的路径。
仔细观察imagenet.prototxt和imagenet_val.prototxt文件可以发现族顷陆,训练和验证的参数大部分都相同,不同之处在于初始层和最后一层。训练时,使用softmax_loss层来计算损失函数和初始化后向传播,验证时,使用accuracy层来预测精确度。
在文件“examples/imagenet_solver.prototxt”中定义solver协议,同样需要修改train_net和test_net的乎清路径。
5、训练网络。
执行命令:
GLOG_logtostderr=1 examples/train_net.bin examples/imagenet_solver.prototxt
6、兆顷在python中使用已经训练好的模型。
Caffe只提供封装好的imagenet模型,给定一副图像,直接计算出图像的特征和进行预测。首先需要下载模型文件。
Python代码如下:
[python] view plain copy print?
from caffe import imagenet
from matplotlib import pyplot
# Set the right path to your model file, pretrained model
# and the image you would like to classify.
MODEL_FILE = 'examples/imagenet_deploy.prototxt'
PRETRAINED = '/home/jiayq/Downloads/caffe_reference_imagenet_model’
IMAGE_FILE = '/home/jiayq/lena.png'
net = imagenet.ImageNetClassifier(MODEL_FILE, PRETRAINED)
#预测
prediction = net.predict(IMAGE_FILE)
#绘制预测图像
print 'prediction shape:', prediction.shape
pyplot.plot(prediction)
prediction shape: (1000,)
[<matplotlib.lines.Line2D at 0x8faf4d0>] #结果如图所示
图上的横轴表示的label,纵轴表示在该类别上的概率,有图我们看到,lena.jpg被分到了”sombrero”这组,结果还算准确。
“首先打开Ubuntu桌面 然后准备一个僵尸程序a,接着鼠标右键单击open in terminal,打开终端 输入./a &,运行僵汪灶尸程序 输入ps au,查找僵尸程序。凡笑陵圆是STAT是Z的就是僵尸程序,通过Ubuntu Dash,敲入system 单击system monitor(系统监视器) 找到在终端带Z的进程的pid,选中它,右键单击kill,直接将碰塌其kill就行了”方法/步骤要关闭进程,我们首先要打开类似于windows系统下面的“任务管理器”程序,在Ubuntu系统下“任务管理器”叫做“系指局统监视器”,他们的功能基本类似,不过Ubuntu下面的“系统监视器”比windows的任务管理器功能更强大。
有两种方法可以打开“系统监视器”,下面我们分别说明
打开系统监视器方法一
依次点击“system”--->“Administration”----->“System Monitor”,如下图所示:
打开系统监视器方法二
对于喜欢命令的朋友来说,可以用下面的命令打开系统监视器,打开终端命令窗口,然后输入以下命令执行:
gnome-system-monitor
系统监视器打开后如下图所示,默认的页面我们可以看到关于系统的配置情况
我们点击“Processes”,进入到进程列表界面,现在感觉到和windows下的任务管理器很相似缺模吧。
下面我们就进入我们的正题,结束进程,一般结束之前自己一定要对这个进程有所了解,知道它具体的功能作用,不然结束后,可能会引起系统的不稳定甚至死机。
因为我这个电脑上面没有蓝牙模块,但是进程伏逗缓里面有提供蓝牙模块的服务功能,所以我们就以这个进程为例来作为我们结束的对象,我们选择这个进程bluetooth-applet,如下图所示:
在bluetooth-applet进程上面点鼠标右键,之后会d出如下关于对进程 *** 作的一些菜单,我们这里要彻底的结束bluetooth-applet进程,所以我们选择“kill process”
选择并点击“kill process”后,会d出结束进程的确认提示框,如下图所示,我们选择选择“kill process”就可以结束bluetooth-applet进程了。
结束bluetooth-applet进程后,我们再看进程列表里面已经没有bluetooth-applet进程了, *** 作非常简单,也和windows系统下面结束进程的方法类似 -_-
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)