首页 > 编程知识 正文

tensorflow搭建神经网络,手机gpu工具

时间:2023-05-04 11:17:08 阅读:12883 作者:3858

犬识别为tensorflow2.0 GPU版自制CNN模型1 .导入库importtensorflowastffromtensorflow.keras.layersimportconv 2d,MaxPooling2D, densefromtensorflow.keras.modelsimportsequential, load _ modelfromtensorflow.kerasimportoptimizersfromtensorflow.keras.preprocessing.imageimportimagedatageneratoratorimporow 要配置和根据需要扩展tconfigprotofromtensorflow.com pat.v1 importinteractivesession #定义tensorflow配置config=com GPU内存的分配方法, config.GPU _ options.allow _ growth=true #创建session时将config作为参数传递给session=interactive sesion (confion )

#数据集目录train _ dir='./catdog data/train ' validation _ dir='./catdog data/validation ' test _ dir=' . cat doog test ' train _ data gen=image data generator (rescale=1/255 ) train _ generator=train _ data gen.flow _ from shuffle=true (validation _ data gen=image数据生成器(rescale=1/255 ) validation _ generator=validation _ data class_mode='binary ' ) print(train_datagen ) print (train _ generator ) nottor实际上,Keras提供的ImageDataGenerator类

使用此类加载数据的主要好处:

可以导入小数据集,也可以导入导入成千上万个图像的非常大的图像数据集。 在培训和评估深度学习模型时,将足够的图像加载到内存中,以供当前和随后的几个小批处理使用,而不是将所有图像加载到内存中。 我称之为逐步加载。 数据集是从文件中逐步加载的,因此检索到的数据很快就足够所需的数据。

也可以自动缩放图像的像素值,或自动生成图像的扩展版本。

使用image数据生成器类的模式为以下:

生成并配置image数据生成器类的实例。

要获取迭代器,请调用flow_from_directory ()函数。

在训练或评估模型时使用迭代器。

for data_batch,labels _ batchintrain _ generator : print (数据形状: ),data_batch.shape (打印) )单张图像)

4 .模型模型=sequential (model.add ) conv2d ) 32,(3,3 ),activation='relu ',input_shape=) 224,224,3 2 activation='relu ' ) ) ) model.add ) maxpooling2d ) ),2 ) ) model.add activation='relu ' ) (model.add ) mard activation='relu ) )、activation65 2) ) model.add(Flatten () model.add (dense ) 512,activation='relu ' ) ) activation='sigmoid ' ) (model.summary ) (model.compile ) loss='binary_crossentropy ',optimizer=optimizers

5 .培训模式fromtensorflow.kerasimportcallbackstensorboard _ callback=callbacks.tensor board (log _ dir=' logs/self_back histogram_freq=1) history=model.fit _ generator (train _ generator,epochs=30,validation _ data

! 在此插入图像说明(3359 img-blog.csdn img.cn/2021060117322015.png )? x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text _ a hr0 CHM6ly9ibg9nlmnzzg 4u bmv0L3 dt Bt

6 .模型预测test _ data gen=image数据生成器(rescale=1/255 ) test _ generator=test _ data gen.flow _ from _ direratom

7 .可视化培训过程#显示培训结果ACC=history.history [ ' ACC ' ] val _ ACC=history.history [ ' val _ ACC ' ] loss=history Epochs=range(len(ACC ) ) PLT.figure ) num=1) #正确率PLT.plot ) Eeet val_acc,' b ', label='val_acc ' ) PLT.title('accuracy ' ) PLT.legend (PLT.save fig ) ) ACC _ plain.PLA label=' train _ loron

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。