架构:tensorflow
版本:Python3.5
数据集:ISIC2018 https://challenge2018.isic-archive.com/
1.处理数据集
对所有图片进行分类放在不同的文件夹中,文件夹的名称就是图片的标签(类别)
2.代码如下
# -*- coding: utf-8 -*-
"""
Created on Fri Mar 8 21:43:06 2019
@author: Feary
"""
from skimage import io,transform
#import io,transform
import glob
import os
import tensorflow as tf
import numpy as np
import time
path='E:/python_work/skinclassify/image/'
max_step=500 #训练论述
batch_size=32
rate=0.8 # 训练集和验证集的比率
resize_w=100
resize_h=100
#读取图片
def get_files(filename):
imgs = []
labels = []
labels_name= []
labels_index = []
i=0
for label_name in os.listdir(filename):#该位置的每个文件夹
labels_name.append(label_name)#文件夹名称就是类别
labels_index.append(i)
for pic in glob.glob(filename+label_name+'/*.jpg'):#每个文件夹里面的图片
#pic=filename+label_name+'/'+pic
print('reading the images:%s'%(pic))
pic=io.imread(pic)
pic=transform.resize(pic,(100,100))
imgs.append(pic)
labels.append(i)
#主要区别在于 np.array (默认情况下)将会copy该对象,而 np.asarray 除非必要,否则不会copy该对象。
i=i+1
return np.asarray(imgs,np.float32),np.asarray(labels,np.int32)
image_list,label_list=get_files(path)
#打乱所有图片顺序后 将所有数据分为训练集和验证集
def create_train_val(