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

mui 网站开发模拟网站建设软件有哪些

mui 网站开发,模拟网站建设软件有哪些,可以设计制作网页的软件,创造一个网站文章目录 一、准备环境和数据1.环境2. 数据 二、数据增强#xff08;增加数据集中样本的多样性#xff09;三、将增强后的数据添加到模型中四、开始训练五、自定义增强函数六、一些增强函数 #x1f368; 本文为#x1f517;365天深度学习训练营 中的学习记录博客#x1f… 文章目录 一、准备环境和数据1.环境2. 数据 二、数据增强增加数据集中样本的多样性三、将增强后的数据添加到模型中四、开始训练五、自定义增强函数六、一些增强函数 本文为365天深度学习训练营 中的学习记录博客 参考文章365天深度学习训练营-第10周数据增强训练营内部成员可读 原作者K同学啊 | 接辅导、项目定制 文章来源K同学的学习圈子 本文说明了两种数据增强方式以及如何自定义数据增强方式并将其放到我们代码当中两种数据增强方式如下 ● 将数据增强模块嵌入model中 ● 在Dataset数据集中进行数据增强 常用的tf增强函数在文末有说明 一、准备环境和数据 1.环境 import matplotlib.pyplot as plt import numpy as np import sys from datetime import datetime #隐藏警告 import warnings warnings.filterwarnings(ignore)from tensorflow.keras import layers import tensorflow as tfprint(--------# 使用环境说明---------) print(Today: , datetime.today()) print(Python: sys.version) print(Tensorflow: , tf.__version__)gpus tf.config.list_physical_devices(GPU) if gpus:tf.config.experimental.set_memory_growth(gpus[0], True) #设置GPU显存用量按需使用tf.config.set_visible_devices([gpus[0]],GPU)# 打印显卡信息确认GPU可用print(gpus) else:print(Use CPU)2. 数据 使用上一课的数据集即猫狗识别2的数据集。其次原数据集中不包括测试集所以使用tf.data.experimental.cardinality确定验证集中有多少批次的数据然后将其中的 20% 移至测试集。 # 从本地路径读入图像数据 print(--------# 从本地路径读入图像数据---------) data_dir D:/jupyter notebook/DL-100-days/datasets/CatsDogs Data2/ img_height 224 img_width 224 batch_size 32# 划分训练集 print(--------# 划分训练集---------) train_ds tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split0.3,subsettraining,seed12,image_size(img_height, img_width),batch_sizebatch_size)# 划分验证集 print(--------# 划分验证集---------) val_ds tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split0.3,subsetvalidation,seed12,image_size(img_height, img_width),batch_sizebatch_size)# 从验证集中划20%的数据用作测试集 print(--------# 从验证集中划20%的数据用作测试集---------) val_batches tf.data.experimental.cardinality(val_ds) test_ds val_ds.take(val_batches // 5) val_ds val_ds.skip(val_batches // 5)print(验证集的批次数: %d % tf.data.experimental.cardinality(val_ds)) print(测试集的批次数: %d % tf.data.experimental.cardinality(test_ds))# 显示数据类别 print(--------# 显示数据类别---------) class_names train_ds.class_names print(class_names)print(--------# 归一化处理---------) AUTOTUNE tf.data.AUTOTUNEdef preprocess_image(image,label):return (image/255.0,label)# 归一化处理 train_ds train_ds.map(preprocess_image, num_parallel_callsAUTOTUNE) val_ds val_ds.map(preprocess_image, num_parallel_callsAUTOTUNE) test_ds test_ds.map(preprocess_image, num_parallel_callsAUTOTUNE)train_ds train_ds.cache().prefetch(buffer_sizeAUTOTUNE) val_ds val_ds.cache().prefetch(buffer_sizeAUTOTUNE)# 数据可视化 print(--------# 数据可视化---------) plt.figure(figsize(15, 10)) # 图形的宽为15高为10for images, labels in train_ds.take(1):for i in range(8):ax plt.subplot(5, 8, i 1) plt.imshow(images[i])plt.title(class_names[labels[i]])plt.axis(off)二、数据增强增加数据集中样本的多样性 数据增强的常用方法包括但不限于随机平移、随机翻转、随机旋转、随机亮度、随机对比度可以在Tf中文网的experimental/preprocessing类目下查看也可以在Tf中文网的layers/类目下查看。 本文使用随机翻转和随机旋转来进行增强 ● tf.keras.layers.experimental.preprocessing.RandomFlip水平和垂直随机翻转每个图像 ● tf.keras.layers.experimental.preprocessing.RandomRotation随机旋转每个图像 # 第一个层表示进行随机的水平和垂直翻转而第二个层表示按照 0.2 的弧度值进行随机旋转。 print(--------# 数据增强随机翻转随机旋转---------) data_augmentation tf.keras.Sequential([tf.keras.layers.experimental.preprocessing.RandomFlip(horizontal_and_vertical),tf.keras.layers.experimental.preprocessing.RandomRotation(0.2), ])# Add the image to a batch. print(--------# 添加图像到batch中---------) # Q这个i从哪来的 image tf.expand_dims(images[i], 0)print(--------# 显示增强后的图像---------) plt.figure(figsize(8, 8)) for i in range(9):augmented_image data_augmentation(image)ax plt.subplot(3, 3, i 1)plt.imshow(augmented_image[0])plt.axis(off)--------# 数据增强随机翻转随机旋转--------- --------# 添加图像到batch中--------- --------# 显示增强后的图像--------- WARNING:tensorflow:Using a while_loop for converting RngReadAndSkip cause there is no registered converter for this op. WARNING:tensorflow:Using a while_loop for converting Bitcast cause there is no registered converter for this op.三、将增强后的数据添加到模型中 两种方式 1将其嵌入model中 优点是 ● 数据增强这块的工作可以得到GPU的加速如果使用了GPU训练的话 注意只有在模型训练时Model.fit才会进行增强在模型评估(Model.evaluate)以及预测(Model.predict)时并不会进行增强操作。 model tf.keras.Sequential([data_augmentation,layers.Conv2D(16, 3, paddingsame, activationrelu),layers.MaxPooling2D(), ])\nmodel tf.keras.Sequential([\n data_augmentation,\n layers.Conv2D(16, 3, paddingsame, activationrelu),\n layers.MaxPooling2D(),\n])\n2在Dataset数据集中进行数据增强 batch_size 32 AUTOTUNE tf.data.AUTOTUNEdef prepare(ds):ds ds.map(lambda x, y: (data_augmentation(x, trainingTrue), y), num_parallel_callsAUTOTUNE)return dsprint(--------# 增强后的图像加到模型中---------) train_ds prepare(train_ds)四、开始训练 # 设置模型 print(--------# 设置模型---------) model tf.keras.Sequential([layers.Conv2D(16, 3, paddingsame, activationrelu),layers.MaxPooling2D(),layers.Conv2D(32, 3, paddingsame, activationrelu),layers.MaxPooling2D(),layers.Conv2D(64, 3, paddingsame, activationrelu),layers.MaxPooling2D(),layers.Flatten(),layers.Dense(128, activationrelu),layers.Dense(len(class_names)) ])# 设置编译参数 # ● 损失函数loss用于衡量模型在训练期间的准确率。 # ● 优化器optimizer决定模型如何根据其看到的数据和自身的损失函数进行更新。 # ● 评价函数metrics用于监控训练和测试步骤。以下示例使用了准确率即被正确分类的图像的比率。 print(--------# 设置编译器参数---------) model.compile(optimizeradam,losstf.keras.losses.SparseCategoricalCrossentropy(from_logitsTrue),metrics[accuracy])print(--------# 开始训练---------) epochs20 history model.fit(train_ds,validation_dataval_ds,epochsepochs )print(--------# 查看训练结果---------) loss, acc model.evaluate(test_ds) print(Accuracy, acc)五、自定义增强函数 print(--------# 自定义增强函数---------) import random # 这是大家可以自由发挥的一个地方 def aug_img(image):seed (random.randint(0,9), 0)# 随机改变图像对比度stateless_random_brightness tf.image.stateless_random_contrast(image, lower0.1, upper1.0, seedseed)return stateless_random_brightnessimage tf.expand_dims(images[3]*255, 0) print(Min and max pixel values:, image.numpy().min(), image.numpy().max())plt.figure(figsize(8, 8)) for i in range(9):augmented_image aug_img(image)ax plt.subplot(3, 3, i 1)plt.imshow(augmented_image[0].numpy().astype(uint8))plt.axis(off)# Q: 将自定义增强函数应用到我们数据上呢 # 请参考上文的 preprocess_image 函数将 aug_img 函数嵌入到 preprocess_image 函数中在数据预处理时完成数据增强就OK啦。# 从本地路径读入图像数据 print(--------# 从本地路径读入图像数据---------) data_dir D:/jupyter notebook/DL-100-days/datasets/CatsDogs Data2/ img_height 224 img_width 224 batch_size 32# 划分训练集 print(--------# 划分训练集---------) train_ds tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split0.3,subsettraining,seed12,image_size(img_height, img_width),batch_sizebatch_size)# 划分验证集 print(--------# 划分验证集---------) val_ds tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split0.3,subsetvalidation,seed12,image_size(img_height, img_width),batch_sizebatch_size)# 从验证集中划20%的数据用作测试集 print(--------# 从验证集中划20%的数据用作测试集---------) val_batches tf.data.experimental.cardinality(val_ds) test_ds val_ds.take(val_batches // 5) val_ds val_ds.skip(val_batches // 5)print(验证集的批次数: %d % tf.data.experimental.cardinality(val_ds)) print(测试集的批次数: %d % tf.data.experimental.cardinality(test_ds))# 显示数据类别 print(--------# 显示数据类别---------) class_names train_ds.class_names print(class_names)print(--------# 归一化处理---------) AUTOTUNE tf.data.AUTOTUNEprint(--------# 将自定义增强函数应用到数据上---------) def preprocess_image(aug_img,label):return (aug_img/255.0,label)# 归一化处理 train_ds train_ds.map(preprocess_image, num_parallel_callsAUTOTUNE) val_ds val_ds.map(preprocess_image, num_parallel_callsAUTOTUNE) test_ds test_ds.map(preprocess_image, num_parallel_callsAUTOTUNE)train_ds train_ds.cache().prefetch(buffer_sizeAUTOTUNE) val_ds val_ds.cache().prefetch(buffer_sizeAUTOTUNE)# 数据可视化 print(--------# 数据可视化---------) plt.figure(figsize(15, 10)) # 图形的宽为15高为10for images, labels in train_ds.take(1):for i in range(8):ax plt.subplot(5, 8, i 1) plt.imshow(images[i])plt.title(class_names[labels[i]])plt.axis(off)# 设置模型 print(--------# 设置模型---------) model tf.keras.Sequential([layers.Conv2D(16, 3, paddingsame, activationrelu),layers.MaxPooling2D(),layers.Conv2D(32, 3, paddingsame, activationrelu),layers.MaxPooling2D(),layers.Conv2D(64, 3, paddingsame, activationrelu),layers.MaxPooling2D(),layers.Flatten(),layers.Dense(128, activationrelu),layers.Dense(len(class_names)) ])# 设置编译参数 # ● 损失函数loss用于衡量模型在训练期间的准确率。 # ● 优化器optimizer决定模型如何根据其看到的数据和自身的损失函数进行更新。 # ● 评价函数metrics用于监控训练和测试步骤。以下示例使用了准确率即被正确分类的图像的比率。 print(--------# 设置编译器参数---------) model.compile(optimizeradam,losstf.keras.losses.SparseCategoricalCrossentropy(from_logitsTrue),metrics[accuracy])print(--------# 开始训练---------) epochs20 history model.fit(train_ds,validation_dataval_ds,epochsepochs )print(--------# 查看训练结果---------) loss, acc model.evaluate(test_ds) print(Accuracy, acc)使用自定义增强函数增强后的数据重新训练的结果 六、一些增强函数 1随机亮度RandomBrightness tf.keras.layers.RandomBrightness( factor, value_range(0, 255), seedNone, **kwargs ) 2随机对比度RandomContrast tf.keras.layers.RandomContrast( factor, seedNone, **kwargs ) 3随机裁剪RandomCrop tf.keras.layers.RandomCrop( height, width, seedNone, **kwargs ) 4随机翻转RandomFlip tf.keras.layers.RandomFlip( modeHORIZONTAL_AND_VERTICAL, seedNone, **kwargs ) 5随机高度RandomHeight和随机宽度RandomWidth tf.keras.layers.RandomHeight( factor, interpolationbilinear, seedNone, **kwargs ) tf.keras.layers.RandomWidth( factor, interpolationbilinear, seedNone, **kwargs ) 6随机平移RandomTranslation tf.keras.layers.RandomTranslation( height_factor, width_factor, fill_modereflect, interpolationbilinear, seedNone, fill_value0.0, **kwargs ) 7随机旋转RandonRotation tf.keras.layers.RandomRotation( factor, fill_modereflect, interpolationbilinear, seedNone, fill_value0.0, **kwargs ) 8随机缩放RandonZoom tf.keras.layers.RandomZoom( height_factor, width_factorNone, fill_modereflect, interpolationbilinear, seedNone, fill_value0.0, **kwargs )
http://www.zqtcl.cn/news/311715/

相关文章:

  • 参加网站建设项目人员保障体系镇江网站建设门户报价
  • 漯河网站优化景区网站建设方案
  • 辽宁智能网站建设价位wordpress 公司主题
  • zencart 网站入侵冲电气软件 网站建设
  • 在网上做黑彩网站会怎样wordpress自定义代码在哪里设置
  • 福州营销网站建设老品牌网站开通
  • 电子商务网站体系结构有哪些?网站开发规划书怎么写
  • 建设一个网站要多少钱建设银行信用卡卡网站首页
  • 百度推广效果怎样seo网上培训课程
  • 广州品牌网站建设 优美wordpress 跳转页面
  • 成都专业的网站建设制作公司哪家好m3u8视频可以永久保存吗
  • 上海做兼职的网站如何在凡科建设网站
  • 沙朗镇做网站公司企业管理咨询师是干什么的
  • 起名网站建设商汇通网站
  • 网站开发费税率是多少钱建设小网站教程
  • 企业制作网站服务物联网应用有哪些
  • 中国建设网站银行个人做网站要注意什么条件
  • 莆田哪里有学做网站的wordpress可视化函数
  • 网站规划书500字上海金融网站制作网站制作公司好
  • 郑州网站制做钓鱼网站的公司
  • 网站域名授权怎么做以鹦鹉做头像的网站
  • 后端开发网站做一些什么WordPress能做门户网吗
  • 石家庄市住房和城乡建设厅网站好的企业型网站模板下载
  • 哈尔滨快速建站公司推荐网站刷流量会怎么样
  • 网站开发 顺德做新闻微网站有哪些
  • 如何阿里巴巴网站做推广苏州高新区建设局网站管网
  • 个人网站设计构思做汽车保养的网站
  • 在什么网站可以接国外的模具做中英文网站是怎么做的
  • 网站中的文字滑动怎么做的沈阳模板建站定制
  • 国内网站开发二手房网站开发背景