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

酒店做网站企业网站建设 cms

酒店做网站,企业网站建设 cms,男做暧免费视频网站,怎建网站文章目录 前期工作1. 设置GPU#xff08;如果使用的是CPU可以忽略这步#xff09;我的环境#xff1a; 2. 导入数据3. 检查数据 二、数据预处理1. 加载数据2. 可视化数据3. 再次检查数据4. 配置数据集 三、构建CNN网络四、编译五、训练模型六、模型评估 前期工作 1. 设置GP… 文章目录 前期工作1. 设置GPU如果使用的是CPU可以忽略这步我的环境 2. 导入数据3. 检查数据 二、数据预处理1. 加载数据2. 可视化数据3. 再次检查数据4. 配置数据集 三、构建CNN网络四、编译五、训练模型六、模型评估 前期工作 1. 设置GPU如果使用的是CPU可以忽略这步 我的环境 语言环境Python3.6.5编译器jupyter notebook深度学习环境TensorFlow2.4.1 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)2. 导入数据 import matplotlib.pyplot as plt import numpy as np import os import PIL import tensorflow as tffrom tensorflow import keras from tensorflow.keras import layers,modelsimport pathlib dataset_url https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgzdata_dir tf.keras.utils.get_file(fname flower_photos, # 下载到本地后的文件名称origin dataset_url, # 数据集(Dataset)的URL路径untar True, # 是否解压文件cache_dir DL-100-days)data_dir pathlib.Path(data_dir) data_dirPosixPath(/tmp/.keras/datasets/flower_photos)3. 检查数据 image_count len(list(data_dir.glob(*/*.jpg)))print(图片总数为,image_count)roses list(data_dir.glob(roses/*)) PIL.Image.open(str(roses[1]))二、数据预处理 1. 加载数据 使用image_dataset_from_directory方法将磁盘中的数据加载到tf.data.Dataset中 batch_size 32 img_height 180 img_width 180train_ds tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split0.2,subsettraining,seed123,image_size(img_height, img_width),batch_sizebatch_size)Found 3670 files belonging to 5 classes. Using 2936 files for training.val_ds tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split0.2,subsetvalidation,seed123,image_size(img_height, img_width),batch_sizebatch_size)Found 3670 files belonging to 5 classes. Using 734 files for validation.我们可以通过class_names输出数据集的标签。标签将按字母顺序对应于目录名称。 class_names train_ds.class_names print(class_names)[daisy, dandelion, roses, sunflowers, tulips]2. 可视化数据 plt.figure(figsize(20, 10))for images, labels in train_ds.take(1):for i in range(20):ax plt.subplot(5, 10, i 1)plt.imshow(images[i].numpy().astype(uint8))plt.title(class_names[labels[i]])plt.axis(off)3. 再次检查数据 for image_batch, labels_batch in train_ds:print(image_batch.shape)print(labels_batch.shape)break(32, 180, 180, 3) (32,)Image_batch是形状的张量32,180,180,3。这是一批形状180x180x3的32张图片最后一维指的是彩色通道RGB。Label_batch是形状32的张量这些标签对应32张图片 4. 配置数据集 prefetch()功能详细介绍CPU 正在准备数据时加速器处于空闲状态。相反当加速器正在训练模型时CPU 处于空闲状态。因此训练所用的时间是 CPU 预处理时间和加速器训练时间的总和。prefetch()将训练步骤的预处理和模型执行过程重叠到一起。当加速器正在执行第 N 个训练步时CPU 正在准备第 N1 步的数据。这样做不仅可以最大限度地缩短训练的单步用时而不是总用时而且可以缩短提取和转换数据所需的时间。如果不使用prefetch()CPU 和 GPU/TPU 在大部分时间都处于空闲状态 使用prefetch()可显著减少空闲时间 cache()将数据集缓存到内存当中加速运行 AUTOTUNE tf.data.AUTOTUNEtrain_ds train_ds.cache().shuffle(1000).prefetch(buffer_sizeAUTOTUNE) val_ds val_ds.cache().prefetch(buffer_sizeAUTOTUNE)三、构建CNN网络 卷积神经网络CNN的输入是张量 (Tensor) 形式的 (image_height, image_width, color_channels)包含了图像高度、宽度及颜色信息。不需要输入batch size。color_channels 为 (R,G,B) 分别对应 RGB 的三个颜色通道color channel。在此示例中我们的 CNN 输入fashion_mnist 数据集中的图片形状是 (28, 28, 1)即灰度图像。我们需要在声明第一层时将形状赋值给参数input_shape。 num_classes 5model models.Sequential([layers.experimental.preprocessing.Rescaling(1./255, input_shape(img_height, img_width, 3)),layers.Conv2D(16, (3, 3), activationrelu, input_shape(img_height, img_width, 3)), # 卷积层1卷积核3*3layers.MaxPooling2D((2, 2)), # 池化层12*2采样layers.Conv2D(32, (3, 3), activationrelu), # 卷积层2卷积核3*3layers.MaxPooling2D((2, 2)), # 池化层22*2采样layers.Conv2D(64, (3, 3), activationrelu), # 卷积层3卷积核3*3layers.Flatten(), # Flatten层连接卷积层与全连接层layers.Dense(128, activationrelu), # 全连接层特征进一步提取layers.Dense(num_classes) # 输出层输出预期结果 ])model.summary() # 打印网络结构Model: sequential_1 _________________________________________________________________ Layer (type) Output Shape Param # rescaling_1 (Rescaling) (None, 180, 180, 3) 0 _________________________________________________________________ conv2d_3 (Conv2D) (None, 178, 178, 16) 448 _________________________________________________________________ max_pooling2d_2 (MaxPooling2 (None, 89, 89, 16) 0 _________________________________________________________________ conv2d_4 (Conv2D) (None, 87, 87, 32) 4640 _________________________________________________________________ max_pooling2d_3 (MaxPooling2 (None, 43, 43, 32) 0 _________________________________________________________________ conv2d_5 (Conv2D) (None, 41, 41, 64) 18496 _________________________________________________________________ flatten_1 (Flatten) (None, 107584) 0 _________________________________________________________________ dense_2 (Dense) (None, 128) 13770880 _________________________________________________________________ dense_3 (Dense) (None, 5) 645 Total params: 13,795,109 Trainable params: 13,795,109 Non-trainable params: 0 _________________________________________________________________四、编译 在准备对模型进行训练之前还需要再对其进行一些设置。以下内容是在模型的编译步骤中添加的 损失函数loss用于测量模型在训练期间的准确率。优化器optimizer决定模型如何根据其看到的数据和自身的损失函数进行更新。指标metrics用于监控训练和测试步骤。以下示例使用了准确率即被正确分类的图像的比率。 model.compile(optimizeradam,losstf.keras.losses.SparseCategoricalCrossentropy(from_logitsTrue),metrics[accuracy])五、训练模型 history model.fit(train_ds,validation_dataval_ds,epochs10 )Epoch 1/10 92/92 [] - 9s 29ms/step - loss: 1.7851 - accuracy: 0.3435 - val_loss: 1.0564 - val_accuracy: 0.5640 Epoch 2/10 92/92 [] - 1s 11ms/step - loss: 1.0037 - accuracy: 0.5867 - val_loss: 1.0490 - val_accuracy: 0.5708 Epoch 3/10 92/92 [] - 1s 11ms/step - loss: 0.8206 - accuracy: 0.6746 - val_loss: 0.9763 - val_accuracy: 0.6158 Epoch 4/10 92/92 [] - 1s 12ms/step - loss: 0.6061 - accuracy: 0.7864 - val_loss: 0.9745 - val_accuracy: 0.6158 Epoch 5/10 92/92 [] - 1s 12ms/step - loss: 0.3319 - accuracy: 0.8929 - val_loss: 1.2550 - val_accuracy: 0.6076 Epoch 6/10 92/92 [] - 1s 11ms/step - loss: 0.1607 - accuracy: 0.9473 - val_loss: 1.4897 - val_accuracy: 0.6172 Epoch 7/10 92/92 [] - 1s 11ms/step - loss: 0.0864 - accuracy: 0.9757 - val_loss: 1.5388 - val_accuracy: 0.6226 Epoch 8/10 92/92 [] - 1s 12ms/step - loss: 0.0621 - accuracy: 0.9818 - val_loss: 2.0122 - val_accuracy: 0.6008 Epoch 9/10 92/92 [] - 1s 11ms/step - loss: 0.0390 - accuracy: 0.9893 - val_loss: 1.9353 - val_accuracy: 0.6267 Epoch 10/10 92/92 [] - 1s 11ms/step - loss: 0.0061 - accuracy: 0.9995 - val_loss: 2.1597 - val_accuracy: 0.6335六、模型评估 plt.plot(history.history[accuracy], labelaccuracy) plt.plot(history.history[val_accuracy], label val_accuracy) plt.xlabel(Epoch) plt.ylabel(Accuracy) plt.ylim([0.5, 1]) plt.legend(loclower right) plt.show()test_loss, test_acc model.evaluate(val_ds, verbose2)从上面可以看出随着迭代次数的增加训练准确率与验证准确率之间的差距逐步增加这是由于过拟合导致. print(验证准确率为,test_acc)验证准确率为 0.6035422086715698 [0.5, 1]) plt.legend(loclower right) plt.show()test_loss, test_acc model.evaluate(val_ds, verbose2)[外链图片转存中…(img-fF61lXFP-1700232748127)] 从上面可以看出随着迭代次数的增加训练准确率与验证准确率之间的差距逐步增加这是由于过拟合导致. print(验证准确率为,test_acc)验证准确率为 0.6035422086715698
http://www.pierceye.com/news/784327/

相关文章:

  • 怎么仿一个复杂的网站wordpress描述怎么改
  • php 如何用op浏览器开发手机网站app开发制作哪种快
  • 网站维护主要有哪些内容和方法网页制作需要学多久
  • 机械加工网站模板做蛋糕比较火的网站
  • 网站的折线图怎么做四川省建设厅官方网站
  • 域名备案 个人 网站基本信息查询wordpress mysql缓存
  • 优秀校园网站建设汇报个人备案的网站
  • 网站信息化建设报送电商网站 设计
  • 写作网站哪个好用有没有必要给企业做网站
  • 长沙cms建站模板设计说明英文翻译
  • 做的差的网站河北网站制作公司地址
  • 网站的推广有哪些方式AWS免费套餐做网站可以吗
  • 如何建设公司网站 需要注意什么iis搭建多个网站
  • 青海住房与建设厅网站本地门户网站源码
  • 自己做付费网站网站版式有哪几种
  • 商丘市做1企业网站的公司贵阳网站建设是什么
  • 如何制作动漫网站模板下载定制网站制作广州
  • 西安网站策划我做的网站不知道网站怎么办啊
  • 商务类网站设计成都网站设计建设推荐
  • 网站建设浏览器不兼容阳信做网站
  • 站酷设计网站官网网址网站多国语言
  • 网站建设经费保障中国域名网官网
  • 网站备案如何查询在wordpress教程
  • 新准则中公司网站建设费用计入什么科目360网页入口
  • 公司要网站建设thinkphp商城源码
  • 网站的定义tomcat做公司网站
  • 小程序开发公司网站源码下载阿里云搭建公司网站
  • 网站营销方案设计公司凡科可以做视频网站吗
  • 网站seo优化费用wordpress 做商城
  • 宁波网站设计哪家公司好电子商务电商网站设计