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

网站建设工作要点广州品牌型网站

网站建设工作要点,广州品牌型网站,wordpress cms主题vieu,企业宣传如何做网站基于MLP完成CIFAR-10数据集和UCI wine数据集的分类#xff0c;使用到了sklearn和tensorflow#xff0c;并对图片分类进行了数据可视化展示 数据集介绍 UCI wine数据集#xff1a; http://archive.ics.uci.edu/dataset/109/wine 这些数据是对意大利同一地区种植的葡萄酒进…基于MLP完成CIFAR-10数据集和UCI wine数据集的分类使用到了sklearn和tensorflow并对图片分类进行了数据可视化展示 数据集介绍 UCI wine数据集 http://archive.ics.uci.edu/dataset/109/wine 这些数据是对意大利同一地区种植的葡萄酒进行化学分析的结果但来自三个不同的品种。该分析确定了三种葡萄酒中每一种中发现的13种成分的数量。 CIFAR-10数据集 https://www.cs.toronto.edu/~kriz/cifar.html CIFAR-10 数据集由 10 类 60000 张 32x32 彩色图像组成每类 6000 张图像。有 50000 张训练图像和 10000 张测试图像。 数据集分为 5 个训练批次和 1 个测试批次每个批次有 10000 张图像。测试批次正好包含从每个类中随机选择的 1000 张图像。训练批次以随机顺序包含剩余的图像但某些训练批次可能包含来自一个类的图像多于另一个类。在它们之间训练批次正好包含来自每个类的 5000 张图像 MLP算法 MLP 代表多层感知器Multilayer Perceptron是一种基本的前馈神经网络Feedforward Neural Network模型。它由一个输入层、一个或多个隐藏层和一个输出层组成其中每个层都包含多个神经元或称为节点。MLP 是一种强大的模型常用于解决分类和回归问题。 MLP 的基本组成部分如下 输入层Input Layer 接收原始数据的输入层每个输入节点对应输入特征。 隐藏层Hidden Layer 位于输入层和输出层之间的一层或多层神经元。每个神经元通过权重与前一层的所有节点相连接并通过激活函数进行非线性变换。隐藏层的存在使得网络能够学习输入数据的复杂特征。 输出层Output Layer 提供最终的网络输出。对于不同的问题输出层的激活函数可能不同。例如对于二分类问题可以使用 sigmoid 激活函数对于多分类问题可以使用 softmax 激活函数。 模型构建 UCI wine 我们加载 sklearn.datasets 中的 load_wine作为训练数据划分为数据集和测试集并进行标准化操作 接着调用 MLPClassifier(hidden_layer_sizes(100,), max_iter1000, random_state42) 创建模型 训练后在测试集上预测最后评估模型 from sklearn.neural_network import MLPClassifier from sklearn.datasets import load_iris from sklearn.datasets import load_wine from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score, classification_report, confusion_matrix from sklearn.preprocessing import StandardScaler# 加载Iris数据集 # iris load_iris() # X iris.data # y iris.targetwine load_wine() X wine.data y wine.target# 划分训练集和测试集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 数据标准化 scaler StandardScaler() X_train_scaled scaler.fit_transform(X_train) X_test_scaled scaler.transform(X_test)# 构建MLP模型 mlp MLPClassifier(hidden_layer_sizes(100,), max_iter1000, random_state42)# 训练模型 mlp.fit(X_train_scaled, y_train)# 在测试集上进行预测 y_pred mlp.predict(X_test_scaled)# 评估模型性能 accuracy accuracy_score(y_test, y_pred) conf_matrix confusion_matrix(y_test, y_pred) class_report classification_report(y_test, y_pred)# 打印结果 print(Accuracy:, accuracy) print(\nConfusion Matrix:\n, conf_matrix) print(\nClassification Report:\n, class_report)CIFAR-10 我们使用 tf.keras.datasets.cifar10中自带的数据进行训练 使用 tf.keras.Sequential() 这个函数创建模型设置四层网络 接着对代码进行批量训练评估和保留模型后对结果进行可视化处理 ########cifar10数据集########## ###########保存模型############ ########卷积神经网络########## #train_x:(50000, 32, 32, 3), train_y:(50000, 1), test_x:(10000, 32, 32, 3), test_y:(10000, 1) #60000条训练数据和10000条测试数据32x32像素的RGB图像 #第一层两个卷积层16个3*3卷积核一个池化层最大池化法2*2卷积核激活函数ReLU #第二层两个卷积层32个3*3卷积核一个池化层最大池化法2*2卷积核激活函数ReLU #隐含层激活函数ReLU函数 #输出层激活函数softmax函数实现多分类 #损失函数稀疏交叉熵损失函数 #隐含层有128个神经元输出层有10个节点 import tensorflow as tf import matplotlib.pyplot as plt import numpy as npimport time print(--------------) nowtime time.strftime(%Y-%m-%d %H:%M:%S) print(nowtime)#指定GPU #import os #os.environ[CUDA_VISIBLE_DEVICES] 0 # gpus tf.config.experimental.list_physical_devices(GPU) # tf.config.experimental.set_memory_growth(gpus[0],True) #初始化 plt.rcParams[font.sans-serif] [SimHei]#加载数据 cifar10 tf.keras.datasets.cifar10 (train_x,train_y),(test_x,test_y) cifar10.load_data() print(\n train_x:%s, train_y:%s, test_x:%s, test_y:%s%(train_x.shape,train_y.shape,test_x.shape,test_y.shape))#数据预处理 X_train,X_test tf.cast(train_x/255.0,tf.float32),tf.cast(test_x/255.0,tf.float32) #归一化 y_train,y_test tf.cast(train_y,tf.int16),tf.cast(test_y,tf.int16)#建立模型 model tf.keras.Sequential() ##特征提取阶段 #第一层 model.add(tf.keras.layers.Conv2D(16,kernel_size(3,3),paddingsame,activationtf.nn.relu,data_formatchannels_last,input_shapeX_train.shape[1:])) #卷积层16个卷积核大小33保持原图像大小relu激活函数输入形状28281 model.add(tf.keras.layers.Conv2D(16,kernel_size(3,3),paddingsame,activationtf.nn.relu)) model.add(tf.keras.layers.MaxPool2D(pool_size(2,2))) #池化层最大值池化卷积核22 #第二层 model.add(tf.keras.layers.Conv2D(32,kernel_size(3,3),paddingsame,activationtf.nn.relu)) model.add(tf.keras.layers.Conv2D(32,kernel_size(3,3),paddingsame,activationtf.nn.relu)) model.add(tf.keras.layers.MaxPool2D(pool_size(2,2))) ##分类识别阶段 #第三层 model.add(tf.keras.layers.Flatten()) #改变输入形状 #第四层 model.add(tf.keras.layers.Dense(128,activationrelu)) #全连接网络层128个神经元relu激活函数 model.add(tf.keras.layers.Dense(10,activationsoftmax)) #输出层10个节点 print(model.summary()) #查看网络结构和参数信息#配置模型训练方法 #adam算法参数采用keras默认的公开参数损失函数采用稀疏交叉熵损失函数准确率采用稀疏分类准确率函数 model.compile(optimizeradam,losssparse_categorical_crossentropy,metrics[sparse_categorical_accuracy])#训练模型 #批量训练大小为64迭代5次测试集比例0.248000条训练集数据12000条测试集数据 print(--------------) nowtime time.strftime(%Y-%m-%d %H:%M:%S) print(训练前时刻str(nowtime))history model.fit(X_train,y_train,batch_size64,epochs5,validation_split0.2)print(--------------) nowtime time.strftime(%Y-%m-%d %H:%M:%S) print(训练后时刻str(nowtime))#评估模型 model.evaluate(X_test,y_test,verbose2) #每次迭代输出一条记录来评价该模型是否有比较好的泛化能力#保存整个模型 model.save(CIFAR10_CNN_weights.h5)#结果可视化 print(history.history) loss history.history[loss] #训练集损失 val_loss history.history[val_loss] #测试集损失 acc history.history[sparse_categorical_accuracy] #训练集准确率 val_acc history.history[val_sparse_categorical_accuracy] #测试集准确率plt.figure(figsize(10,3))plt.subplot(121) plt.plot(loss,colorb,labeltrain) plt.plot(val_loss,colorr,labeltest) plt.ylabel(loss) plt.legend()plt.subplot(122) plt.plot(acc,colorb,labeltrain) plt.plot(val_acc,colorr,labeltest) plt.ylabel(Accuracy) plt.legend()#暂停5秒关闭画布否则画布一直打开的同时会持续占用GPU内存 #根据需要自行选择 #plt.ion() #打开交互式操作模式 #plt.show() #plt.pause(5) #plt.close()#使用模型 plt.figure() for i in range(10):num np.random.randint(1,10000)plt.subplot(2,5,i1)plt.axis(off)plt.imshow(test_x[num],cmapgray)demo tf.reshape(X_test[num],(1,32,32,3))y_pred np.argmax(model.predict(demo))plt.title(标签值str(test_y[num])\n预测值str(y_pred)) #y_pred np.argmax(model.predict(X_test[0:5]),axis1) #print(X_test[0:5]: %s%(X_test[0:5].shape)) #print(y_pred: %s%(y_pred))#plt.ion() #打开交互式操作模式 plt.show() #plt.pause(5) #plt.close()项目地址 https://gitee.com/yishangyishang/homeword.git
http://wiki.neutronadmin.com/news/117833/

相关文章:

  • google帐户登录网站如何做的天津南开区网站建设公司
  • 怎么查询网站的服务器在哪里济宁住房与建设网站
  • 网站描述代码怎么写凡科网站怎么样
  • 长春网站网站建设西安网站建设工程
  • 网站建设及服务合同常用网站建设技术是什么
  • 做海报在哪个网站可以找素材建网站现软件
  • 做网站游戏的网站有哪些图片网站建设方案
  • 盗版小说网站怎么赚钱徐州营销型网站制使
  • 华大基因 建设网站做网站源代码需要买吗
  • 第三方开放平台有哪些网络seo啥意思
  • 制作个人博客网站个人网站建设知乎
  • 优秀的店面空间设计网站网站数据库建设计划书
  • 网站建设优化服务资讯烟台开发区建设业联合会网站
  • flash网站开发教程潍坊网站建设 潍坊做网站
  • oss做网站网架结构厂家
  • 用百度云服务器做网站seo怎么做
  • 域名建网站公司网页设计入门与应用电子书pdf百度网盘
  • 两学一做 网站源码区域工业互联网平台
  • 旅游网站建设经费预算运动分类的网站设计论文
  • 网站外贸推广html5网站设计
  • 上虞宇普电器网站建设农业网站建设策划书
  • 做百度网站接到多少客户电话号码建设个网站需要什么
  • 网站建设 百度文库门户网站的布局
  • 好网站开发策划要求建设银行不良资产处置网站
  • 玩具网站建设方案企业网站源码变现方法
  • 网站开发工程师薪酬待遇华为公司网站建设相关内容
  • 湘潭网站建设问下磐石网络国际数据公司idc
  • wordpress手机端底部按钮长沙网站排名优化费用
  • 建设网站要钱吗pc网站开发使用什么布局好
  • 深圳网站制作公司兴田德润官网多少招聘网站内容建设