当前位置: 首页 > news >正文

asp 课程教学网站开发山东城乡住房建设厅网站

asp 课程教学网站开发,山东城乡住房建设厅网站,网站开发设计文档,wordpress 怎么加页面文章目录 一、前言一、设置GPU二、导入数据1. 导入数据2. 检查数据3. 配置数据集4. 数据可视化 三、构建模型四、编译五、训练模型六、评估模型1. Accuracy与Loss图2. 混淆矩阵3. 各项指标评估 一、前言 我的环境#xff1a; 语言环境#xff1a;Python3.6.5编译器#xf… 文章目录 一、前言一、设置GPU二、导入数据1. 导入数据2. 检查数据3. 配置数据集4. 数据可视化 三、构建模型四、编译五、训练模型六、评估模型1. Accuracy与Loss图2. 混淆矩阵3. 各项指标评估 一、前言 我的环境 语言环境Python3.6.5编译器jupyter notebook深度学习环境TensorFlow2.4.1 往期精彩内容 卷积神经网络CNN实现mnist手写数字识别 卷积神经网络CNN多种图片分类的实现卷积神经网络CNN衣服图像分类的实现卷积神经网络CNN鲜花识别卷积神经网络CNN天气识别 卷积神经网络VGG-16识别海贼王草帽一伙卷积神经网络ResNet-50鸟类识别 卷积神经网络AlexNet鸟类识别卷积神经网络(CNN)识别验证码 来自专栏机器学习与深度学习算法推荐 一、设置GPU import tensorflow as tf gpus tf.config.list_physical_devices(GPU)if gpus:gpu0 gpus[0] #如果有多个GPU仅使用第0个GPUtf.config.experimental.set_memory_growth(gpu0, True) #设置GPU显存用量按需使用tf.config.set_visible_devices([gpu0],GPU)import matplotlib.pyplot as plt import os,PIL,pathlib import numpy as np import pandas as pd import warnings from tensorflow import keraswarnings.filterwarnings(ignore)#忽略警告信息 plt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 plt.rcParams[axes.unicode_minus] False # 用来正常显示负号二、导入数据 1. 导入数据 import pathlibdata_dir ./27-data/ data_dir pathlib.Path(data_dir) image_count len(list(data_dir.glob(*/*))) print(图片总数为,image_count)图片总数为 3776batch_size 16 img_height 224 img_width 224train_ds tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split0.2,subsettraining,seed12,image_size(img_height, img_width),batch_sizebatch_size)Found 3776 files belonging to 10 classes. Using 3021 files for training.val_ds tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split0.2,subsetvalidation,seed12,image_size(img_height, img_width),batch_sizebatch_size)Found 3776 files belonging to 10 classes. Using 755 files for validation.class_names train_ds.class_names print(class_names)[Alfred_Sisley, Edgar_Degas, Francisco_Goya, Marc_Chagall, Pablo_Picasso, Paul_Gauguin, Peter_Paul_Rubens, Rembrandt, Titian, Vincent_van_Gogh] 2. 检查数据 for image_batch, labels_batch in train_ds:print(image_batch.shape)print(labels_batch.shape)break(16, 224, 224, 3) (16,)3. 配置数据集 AUTOTUNE tf.data.AUTOTUNEdef train_preprocessing(image,label):return (image/255.0,label)train_ds (train_ds.cache().shuffle(2000).map(train_preprocessing) # 这里可以设置预处理函数 # .batch(batch_size) # 在image_dataset_from_directory处已经设置了batch_size.prefetch(buffer_sizeAUTOTUNE) )val_ds (val_ds.cache().shuffle(2000).map(train_preprocessing) # 这里可以设置预处理函数 # .batch(batch_size) # 在image_dataset_from_directory处已经设置了batch_size.prefetch(buffer_sizeAUTOTUNE) )4. 数据可视化 plt.figure(figsize(10, 8)) # 图形的宽为10高为5 plt.suptitle(数据展示)for images, labels in train_ds.take(1):for i in range(15):plt.subplot(4, 5, i 1)plt.xticks([])plt.yticks([])plt.grid(False)# 显示图片plt.imshow(images[i])# 显示标签plt.xlabel(class_names[labels[i]-1])plt.show()三、构建模型 from tensorflow.keras import layers, models, Input from tensorflow.keras.models import Model from tensorflow.keras.layers import Conv2D, MaxPooling2D, Dense, Flatten, Dropout,BatchNormalization,Activation# Load pre-trained model base_model keras.applications.ResNet50(weightsimagenet, include_topFalse, input_shape(img_width,img_height,3))for layer in base_model.layers:layer.trainable True# Add layers at the end X base_model.output X Flatten()(X)X Dense(512, kernel_initializerhe_uniform)(X) #X Dropout(0.5)(X) X BatchNormalization()(X) X Activation(relu)(X)X Dense(16, kernel_initializerhe_uniform)(X) #X Dropout(0.5)(X) X BatchNormalization()(X) X Activation(relu)(X)output Dense(len(class_names), activationsoftmax)(X)model Model(inputsbase_model.input, outputsoutput)四、编译 optimizer tf.keras.optimizers.Adam(lr1e-4)model.compile(optimizeroptimizer,losssparse_categorical_crossentropy,metrics[accuracy])五、训练模型 from tensorflow.keras.callbacks import ModelCheckpoint, Callback, EarlyStopping, ReduceLROnPlateau, LearningRateSchedulerNO_EPOCHS 15 PATIENCE 5 VERBOSE 1# 设置动态学习率 # annealer LearningRateScheduler(lambda x: 1e-3 * 0.99 ** (xNO_EPOCHS))# 设置早停 earlystopper EarlyStopping(monitorloss, patiencePATIENCE, verboseVERBOSE)# checkpointer ModelCheckpoint(best_model.h5,monitorval_accuracy,verboseVERBOSE,save_best_onlyTrue,save_weights_onlyTrue)train_model model.fit(train_ds,epochsNO_EPOCHS,verbose1,validation_dataval_ds,callbacks[earlystopper, checkpointer])六、评估模型 1. Accuracy与Loss图 acc train_model.history[accuracy] val_acc train_model.history[val_accuracy]loss train_model.history[loss] val_loss train_model.history[val_loss]epochs_range range(len(acc))plt.figure(figsize(12, 4)) plt.subplot(1, 2, 1)plt.plot(epochs_range, acc, labelTraining Accuracy) plt.plot(epochs_range, val_acc, labelValidation Accuracy) plt.legend(loclower right) plt.title(Training and Validation Accuracy)plt.subplot(1, 2, 2) plt.plot(epochs_range, loss, labelTraining Loss) plt.plot(epochs_range, val_loss, labelValidation Loss) plt.legend(locupper right) plt.title(Training and Validation Loss) plt.show()2. 混淆矩阵 from sklearn.metrics import confusion_matrix import seaborn as sns import pandas as pd# 定义一个绘制混淆矩阵图的函数 def plot_cm(labels, predictions):# 生成混淆矩阵conf_numpy confusion_matrix(labels, predictions)# 将矩阵转化为 DataFrameconf_df pd.DataFrame(conf_numpy, indexclass_names ,columnsclass_names) plt.figure(figsize(8,7))sns.heatmap(conf_df, annotTrue, fmtd, cmapBuPu)plt.title(混淆矩阵,fontsize15)plt.ylabel(真实值,fontsize14)plt.xlabel(预测值,fontsize14)val_pre [] val_label []for images, labels in val_ds:#这里可以取部分验证数据.take(1)生成混淆矩阵for image, label in zip(images, labels):# 需要给图片增加一个维度img_array tf.expand_dims(image, 0) # 使用模型预测图片中的人物prediction model.predict(img_array)val_pre.append(class_names[np.argmax(prediction)])val_label.append(class_names[label])plot_cm(val_label, val_pre)3. 各项指标评估 from sklearn import metricsdef test_accuracy_report(model):print(metrics.classification_report(val_label, val_pre, target_namesclass_names)) score model.evaluate(val_ds, verbose0)print(Loss function: %s, accuracy: % score[0], score[1])test_accuracy_report(model) precision recall f1-score supportAlfred_Sisley 0.76 0.98 0.86 53Edgar_Degas 0.89 0.94 0.92 132Francisco_Goya 0.89 0.69 0.77 70Marc_Chagall 0.85 0.94 0.89 48Pablo_Picasso 0.89 0.74 0.81 90Paul_Gauguin 0.94 0.84 0.89 57 Peter_Paul_Rubens 0.71 0.86 0.78 29Rembrandt 0.66 0.92 0.77 48Titian 0.90 0.72 0.80 65Vincent_van_Gogh 0.88 0.87 0.87 163accuracy 0.85 755macro avg 0.84 0.85 0.84 755weighted avg 0.86 0.85 0.85 755Loss function: 0.5761227011680603, accuracy: 0.8490065932273865
http://www.pierceye.com/news/518137/

相关文章:

  • 如何备份网站的手机版免费申请微网站
  • 淘宝不允许 网站建设wordpress页面无法编辑器
  • 个人怎么做课程网站seo神马网站推广器
  • 做购物比价的网站有哪些外贸移动商城网站建设
  • 网站开发的特点做直通车任务的网站
  • 分类信息系统网站模板wordpress黑客
  • 推荐一个代做毕业设计的网站云服务器怎么搭建
  • 网站制作计算机电商运营seo
  • 网站关键词分隔符建站用什么工具
  • 广元网站开发兰州电商平台网站建设
  • 网站怎么黑北京广告设计公司排行
  • 番禺网站排名推广优化排名网站开发类标书模板
  • 青海市住房和城乡建设厅网站关于网站建设的合同协议书
  • 中文企业网站模板下载wordpress付费知识
  • 网站设计图能用ps做么襄城县住房和城市建设局网站
  • 汕头市网站建设分站服务机构建设网站费用会计分录
  • 360网站推广wordpress 插件 定时
  • 企业设计网站公司易语言可以做网站嘛
  • 乐昌网站建设wordpress 自动推送
  • 建立自我追求无我什么意思广州网站优化推广
  • 公司介绍网站怎么做的苏州网页制作招聘
  • 天长网站建设黄骅市长
  • 深圳网站维护页面设计WordPress在线留言插件
  • 网站改版的几个建议夜夜夜在线观看
  • 网站开发和 app开发的区别百度推广管家
  • 门窗网站制作宣传语建设一个商城式网站可以吗
  • 网站优化推广公司北京软件开发公司滕迎江
  • 网站建立的连接不安全怎么解决网站如何做数据库
  • 营销型制作网站公司重庆蒲公英网站建设公司
  • 官方网站找工作公众号中国航发网上采购平台