test

import os
import math
import numpy as np
import scipy.io as sio
import Image
caffe_root = '../../../../'
import sys
sys.path.insert(0, caffe_root + 'python')
import caffe
data_root = '../../../../data/part_B_final/'
test_dir = data_root+'test_data/images/'
gt_dir=data_root+'test_data/ground_truth/'
pathdir=os.listdir(test_dir)
mae=np.zeros((1,90),dtype=np.float64)
startt=1
endd=80
for pp in range(startt,endd):
    error_all=0
    error=np.zeros((1,len(pathdir)),dtype=np.float64)
    pred=np.zeros((1,len(pathdir)),dtype=np.float64)
    gt=np.zeros((1,len(pathdir)),dtype=np.float64)
    square_all=0
    square=np.zeros((1,len(pathdir)),dtype=np.float64)
    i=0
    pa=[]
    model_num=pp*36000
    model_path='./model/network_iter_'+str(model_num)+'.caffemodel'
    for allpath in pathdir:
      img_file_name =allpath
      pa.append(allpath)
      img = Image.open(test_dir+img_file_name)
      img = np.array(img, dtype=np.float32)
      if len(img.shape)==2 :
        img2=np.empty((img.shape[0],img.shape[1],3),dtype=img.dtype)
        img2[:,:,0]=img
        img2[:,:,1]=img
        img2[:,:,2]=img
        img=img2
      img = img[:,:,::-1]
      img = img.transpose((2,0,1))
      caffe.set_mode_gpu()
      caffe.set_device(0)
      model_root = './'
      net = caffe.Net(model_root+'deploy.prototxt',model_path, caffe.TEST)
      # shape for input (data blob is N x C x H x W), set data
      net.blobs['data'].reshape(1, *img.shape)
      net.blobs['data'].data[...] = img
      # run net and take argmax for prediction
      net.forward()
      pred[0,i]=np.sum(net.blobs['score'].data[0][0,:,:])
      label_name='GT_'+img_file_name[:-3]+'mat'
      label_path=os.path.join(gt_dir,label_name)
      label=sio.loadmat(label_path)
      gt[0,i]=label['image_info'][0,0]['number']
      error[0,i]=abs(gt[0,i]-pred[0,i])
      square[0,i]=((gt[0,i]-pred[0,i])*(gt[0,i]-pred[0,i]))
      error_all=error_all+error[0,i]
      square_all=square_all+square[0,i]
      i=i+1
    mae[0,pp-startt]=error_all/len(pathdir)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值