loss与val_loss

复制文件
import os
import shutil
import numpy as np
txt_arr=np.loadtxt('val.txt',dtype=str,delimiter=' ')
path_c='val/MeanderControl'
path_p='val/MeanderPatients'
# if(os.path.isfile(path_c)):
# print('1')
# os.mkdir(path_c)
# if(os.path.isfile(path_p)):
# os.mkdir(path_p)
path_c=os.path.realpath(path_c)
path_p=os.path.realpath(path_p)
for file_img in txt_arr:
# print(file_img[1], int(file_img[1])==1)
path_src=os.path.realpath('val')
path_src=os.path.join(path_src,file_img[0])
if(int(file_img[1])==1):
shutil.copy(path_src,path_p)
else:
shutil.copy(path_src,path_c)

获取当前目录下文件名放入txt,执行 .bat
@echo off
dir /b /on >list.txt
目录下的分类图片变成 .csv 格式
# -*- coding: utf-8 -*-
import csv,os,cv2
def convert_img_to_csv(img_dir):
#设置需要保存的csv路径
with open(r'E:\MyWork\RBM-Classification\Meander_HandPD_test.csv','w') as f:
#设置csv文件的列名
#column_name = ["label"]
#column_name.extend(["pixel%d"%i for i in range(32*32)])
#将列名写入到csv文件中
writer = csv.writer(f)
#writer.writerow(column_name)
#该目录下有9个目录,目录名从0-9
for i in range(2):
#获取目录的路径
img_temp_dir = os.path.join(img_dir,str(i))
#获取该目录下所有的文件
img_list = os.listdir(img_temp_dir)
#遍历所有的文件名称
for img_name in img_list:
#图片路径
img_path = os.path.join(img_temp_dir,img_name)
#判断文件是否为目录,如果为目录则不处理
if not os.path.isdir(img_path):
#因为图片是黑白的,所以以灰色读取图片
img = cv2.imread(img_path,cv2.IMREAD_UNCHANGED)
#图片标签
row_data = [i]
#获取图片的像素
row_data.extend(img.flatten())
#将图片数据写入到csv文件中
writer.writerow(row_data)
if __name__ == "__main__":
#将该目录下的图片保存为csv文件
convert_img_to_csv(r"E:\MyWork\RBM-Classification\Meander_HandPD")
print("success")
把分类图片变成 .pkl格式,并分测试集,训练集,验证集
# encoding: utf-8
import cPickle
import os
import json
import pylab
import numpy
from PIL import Image
i = 0
# r'data\Expression 1 文件一共含有368张,每张大小28*28.
# olivettifaces 则保存的就是这368张图片的信息。
# olivettifaces_label 中包含的是368张图片的标签信息
olivettifaces=numpy.empty((368,2352))
olivettifaces_label=numpy.empty(368)
# 下面这函数是列出文件夹中所有的文件,到filename中
for filename in os.listdir(r'E:\MyWork\RBM-Classification\Meander_HandPD\MeanderControl'):
print filename
if(filename!='Thumbs.db'):
basedir = 'E:\MyWork\RBM-Classification\Meander_HandPD\MeanderControl/'
imgage = Image.open(basedir + filename)
img_ndarray = numpy.asarray(imgage, dtype='float64')/256
olivettifaces[i]=numpy.ndarray.flatten(img_ndarray)
# 标签要从0开始,不然在cnn训练时会有错误
olivettifaces_label[i]=0
i = i + 1
for filename in os.listdir(r'E:\MyWork\RBM-Classification\Meander_HandPD\MeanderPatients'):
print filename
if(filename!='Thumbs.db'):
basedir = 'E:\MyWork\RBM-Classification\Meander_HandPD\MeanderPatients/'
imgage = Image.open(basedir + filename)
img_ndarray = numpy.asarray(imgage, dtype='float64')/256
olivettifaces[i]=numpy.ndarray.flatten(img_ndarray)
olivettifaces_label[i]=1
i = i + 1
olivettifaces_label=olivettifaces_label.astype(numpy.int)
# 下面是生成pkl格式的文件,保存数据。
print olivettifaces.shape
path1 = os.path.dirname(__file__)
print os.path.join(path1,'Meander_HandPD.pkl')
write_file=open(os.path.join(path1,'Meander_HandPD.pkl'),'wb')
cPickle.dump([[olivettifaces[0:249],olivettifaces_label[0:249]],
[olivettifaces[250:308],olivettifaces_label[250:308]],
[olivettifaces[309:367],olivettifaces_label[309:367]]],
write_file,-1)
write_file.close()
网友评论