- 在线时间
- 0 小时
- 最后登录
- 2022-2-13
- 注册时间
- 2022-2-13
- 听众数
- 1
- 收听数
- 0
- 能力
- 0 分
- 体力
- 3 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 1
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   20% 该用户从未签到
 群组: 数学建模美赛备战群组 |
import osfrom PIL import Imageimport numpy as npimport matplotlib.pyplot as pltimport tensorflow as tffrom tensorflow.keras import datasets, layers, modelsdef read_image(paths): os.listdir(paths) filelist = [] for root, dirs, files in os.walk(paths): for file in files: if os.path.splitext(file)[1] == ".jpg": filelist.append(os.path.join(root, file)) return filelistdef im_xiangsu(paths): for filename in paths: try: im = Image.open(filename) newim = im.resize((128, 128)) newim.save('F:/CNN/test/' + filename[12:-4] + '.jpg') print('图片' + filename[12:-4] + '.jpg' + '像素转化完成') except OSError as e: print(e.args)def im_array(paths): M=[] for filename in paths: im=Image.open(filename) im_L=im.convert("L") #模式L Core=im_L.getdata() arr1=np.array(Core,dtype='float32')/255.0 list_img=arr1.tolist() M.extend(list_img) return Mpath_1='引号内为训练图集所在文件路径'filelist_1=read_image(path_1)M=[]M=im_array(filelist_1)dict_label={0:'亚洲大黄蜂'}train_images=np.array(M).reshape(len(filelist_1),128,128)label=[0]*len(filelist_1)train_lables=np.array(label) #数据标签train_images = train_images[ ..., np.newaxis ] #数据图片print(train_images.shape)#输出验证一下(400, 128, 128, 1)model = models.Sequential()model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(128, 128, 1)))#过滤器个数,卷积核尺寸,激活函数,输入形状model.add(layers.MaxPooling2D((2, 2)))#池化层model.add(layers.Conv2D(64, (3, 3), activation='relu'))model.add(layers.MaxPooling2D((2, 2)))model.add(layers.Conv2D(64, (3, 3), activation='relu'))model.add(layers.Flatten())#降维model.add(layers.Dense(64, activation='relu'))#全连接层model.add(layers.Dense(1, activation='softmax'))model.summary() # 显示模型的架构model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])#epochs为训练多少轮、batch_size为每次训练多少个样本model.fit(train_images, train_lables, epochs=5)model.save('my_model.h5') #保存为h5模型#tf.keras.models.save_model(model,"F:\python\moxing\model")#这样是pb模型print("模型保存成功!")
|
zan
|