全卷积神经网络+gpu

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_33621733/article/details/53161311

1、下载源码 https://github.com/shelhamer/fcn.berkeleyvision.org

2、ctrl+h,改变.bashrc文件,在最后一行加入caffe路径

export PYTHONPATH=$PYTHONPATH:/home/yida/caffe/python

使其立即生效:source .bashrc

3、 make pycaffe

4、在fcn路径下python infer.py

修改infer.py文件,计算时间

import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
from utils.timer import Timer
import caffe

# load image, switch to BGR, subtract mean, and make dims C x H x W for Caffe
im = Image.open('402_1.jpg')
in_ = np.array(im, dtype=np.float32)
in_ = in_[:,:,::-1]
in_ -= np.array((104.00698793,116.66876762,122.67891434))
in_ = in_.transpose((2,0,1))

# load net
net = caffe.Net('voc-fcn8s/deploy.prototxt', 'voc-fcn8s/fcn8s-heavy-pascal.caffemodel', caffe.TEST)
# shape for input (data blob is N x C x H x W), set data
net.blobs['data'].reshape(1, *in_.shape)
net.blobs['data'].data[...] = in_
# run net and take argmax for prediction
timer = Timer()
timer.tic()
net.forward()
out = net.blobs['score'].data[0].argmax(axis=0)
timer.toc()
print ('fcn took {:.3f}s').format(timer.total_time)

plt.imshow(out,cmap='gray');plt.axis('off')
plt.savefig('test.png')
plt.show()    



为了使用GPU,在上面的文件初始化net后加

# load net
net = caffe.Net('voc-fcn8s/deploy.prototxt', 'voc-fcn8s/fcn8s-heavy-pascal.caffemodel', caffe.TEST)

caffe.set_mode_cpu()


猜你喜欢

转载自blog.csdn.net/sinat_33621733/article/details/53161311