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

个人如何做网站软件企业网站制作设

个人如何做网站软件,企业网站制作设,wordpress网站加密码,单页面网站设计TensorFlow版本#xff1a;2.13.0TensorFlow官方文档TensorFlow官方文档中文版 TensorFlow中搭建并训练一个神经网络分为以下几步#xff1a; 定义神经网络配置损失函数以及优化器训练#xff1a;反向传播、梯度下降 下面以LeNet-5为例#xff0c;搭建一个卷积神经网络用…TensorFlow版本2.13.0TensorFlow官方文档TensorFlow官方文档中文版 TensorFlow中搭建并训练一个神经网络分为以下几步 定义神经网络配置损失函数以及优化器训练反向传播、梯度下降 下面以LeNet-5为例搭建一个卷积神经网络用于手写数字识别。LeNet-5以及MNIST数据集介绍见PyTorch搭建神经网络 1. 定义神经网络 TensorFlow提供了三种构建神经网络的方法分别是继承Model类自定义模型、序列式以及函数式。 1.1 继承Model类自定义 继承 keras.Model 类重写父类的 call 方法该方法负责前向计算 例如 from keras import layers from tensorflow import kerasclass MyModel(keras.Model):def __init__(self):super(MyModel, self).__init__()self.conv1 layers.Conv2D(filters6, kernel_size(5, 5), strides(1, 1), activationrelu)self.pool1 layers.AveragePooling2D(pool_size(2, 2), strides(2, 2))self.conv2 layers.Conv2D(filters16, kernel_size(5, 5), strides(1, 1), activationrelu)self.pool2 layers.AveragePooling2D(pool_size(2, 2), strides(2, 2))self.fc1 layers.Dense(units16 * 4 * 4, activationrelu)self.fc2 layers.Dense(units120, activationrelu)self.fc3 layers.Dense(units10, activationsoftmax)def call(self, x):x self.conv1(x)x self.pool1(x)x self.conv2(x)x self.pool2(x)x layers.Flatten()(x) # 二维压缩成一维x self.fc1(x)x self.fc2(x)x self.fc3(x)return x1.2 序列式 该方式适用于简单的层堆栈其中每一层恰好有一个输入张量和一个输出张量在以下情况下不适合使用该方法 模型有多个输入或多个输出任何层都有多个输入或多个输出需要进行图层共享想要非线性拓扑如残差连接、多分支模型 例如 from keras import layers from tensorflow import kerasdef my_model():model keras.Sequential()model.add(layers.Conv2D(filters6, kernel_size(5, 5), strides(1, 1), activationrelu))model.add(layers.AveragePooling2D(pool_size(2, 2), strides(2, 2)))model.add(layers.Conv2D(filters16, kernel_size(5, 5), strides(1, 1), activationrelu))model.add(layers.AveragePooling2D(pool_size(2, 2), strides(2, 2)))model.add(layers.Flatten())model.add(layers.Dense(units16 * 4 * 4, activationrelu))model.add(layers.Dense(units120, activationrelu))model.add(layers.Dense(units10, activationsoftmax))# 另一种堆叠神经网络的方式model keras.Sequential([layers.Conv2D(filters6, kernel_size(5, 5), strides(1, 1), activationrelu),layers.AveragePooling2D(pool_size(2, 2), strides(2, 2)),layers.Conv2D(filters16, kernel_size(5, 5), strides(1, 1), activationrelu),layers.AveragePooling2D(pool_size(2, 2), strides(2, 2)),layers.Flatten(),layers.Dense(units16 * 4 * 4, activationrelu),layers.Dense(units120, activationrelu),layers.Dense(units10, activationsoftmax),])return model1.3 函数式 该方法允许多个输入、多个输出、分支和层共享是构建Keras模型最流行的方法深度学习的模型通常是由层 (layers) 组成的有向无环图而函数式就是构建这种图的一种有效方式该方法: 需要单独定义输入然后需要创建一个输出对象同时创建所有层这些层相互关联并与输出相关联最后创建一个接受输入和输出作为参数的模型对象 例如 from keras import layers from tensorflow import kerasdef my_model(input_shape):# 首先创建一个输入节点inputs keras.Input(input_shape)# 搭建神经网络x layers.Conv2D(filters6, kernel_size(5, 5), strides(1, 1), activationrelu)(inputs)x layers.AveragePooling2D(pool_size(2, 2), strides(2, 2))(x)x layers.Conv2D(filters16, kernel_size(5, 5), strides(1, 1), activationrelu)(x)x layers.AveragePooling2D(pool_size(2, 2), strides(2, 2))(x)x layers.Flatten()(x)x layers.Dense(units16 * 4 * 4, activationrelu)(x)x layers.Dense(units120, activationrelu)(x)# 输出层outputs layers.Dense(units10, activationsoftmax)(x)model keras.Model(inputsinputs, outputsoutputs)return model2. 配置损失函数以及优化器 损失函数 损失函数用于计算真实值和预测值之间的差异。在TensorFlow官方文档中给出了可用的损失函数列表。 这里我们使用交叉熵损失函数keras.losses.SparseCategoricalCrossentropy。该损失函数有一个参数from_logits 该参数决定是否对预测值进行Softmax默认值为 false 。 优化器 优化器根据损失函数求出的损失对神经网络的参数进行更新。在TensorFlow官方文档中给出了可用的优化器。这里我们使用keras.optimizers.SGD作为我们的优化器。 from tensorflow import kerasloss keras.losses.SparseCategoricalCrossentropy() # 预测值已Softmaxfrom_logits 取默认值 optimizer keras.optimizers.SGD(0.0001)3. 训练以及测试模型 3.1训练模型 模型训练只需在配置好训练参数后调用 fit 函数即可该函数会自动进行前向计算、反向传播、梯度下降。 如 # 加载数据集 (train_images, train_labels), (test_images, test_labels) datasets.mnist.load_data()# 维度调整增加一个维度代表通道数 # 卷积神经网络的输入数据是4维的分别代表: batch size图片高度、宽度、通道数 # 批量大小在训练时指定因此输入的数据应该是3维的分别代表图片高度、宽度、通道数 train_images tf.reshape(train_images, (train_images.shape[0], train_images.shape[1], train_images.shape[2], 1)) train_images tf.cast(train_images, tf.float32)test_images tf.reshape(test_images, (test_images.shape[0], test_images.shape[1], test_images.shape[2], 1)) test_images tf.cast(test_images, tf.float32)model my_model(train_images.shape[1:])# 配置神经网络设置损失函数、优化器 loss keras.losses.SparseCategoricalCrossentropy() # 预测值已Softmaxfrom_logits 取默认值 optimizer keras.optimizers.SGD(0.0001) model.compile(lossloss, optimizerkeras.optimizers.SGD(0.00001))# 训练神经网络设置训练集与验证集的比例、迭代次数、batch size等 model.fit(train_images, train_labels, validation_split0.3, epochs1000, batch_size20)注 TensorFlow会自动决定是使用GPU还是CPU默认情况下优先使用GPU。 3.2 测试模型 模型训练只需调用 predict 函数即可。 pre_labels model.predict(test_images)4. 整体代码 import tensorflow as tf from keras import datasets from keras import layers from tensorflow import kerasdef my_model(input_shape):# 首先创建一个输入节点inputs keras.Input(input_shape)# 搭建神经网络x layers.Conv2D(filters6, kernel_size(5, 5), strides(1, 1), activationrelu)(inputs)x layers.AveragePooling2D(pool_size(2, 2), strides(2, 2))(x)x layers.Conv2D(filters16, kernel_size(5, 5), strides(1, 1), activationrelu)(x)x layers.AveragePooling2D(pool_size(2, 2), strides(2, 2))(x)x layers.Flatten()(x)x layers.Dense(units16 * 4 * 4, activationrelu)(x)x layers.Dense(units120, activationrelu)(x)# 输出层outputs layers.Dense(units10, activationsoftmax)(x)model keras.Model(inputsinputs, outputsoutputs)return model# 加载数据集 (train_images, train_labels), (test_images, test_labels) datasets.mnist.load_data()# 维度调整增加一个维度代表通道数 # 卷积神经网络的输入数据是4维的分别代表: batch size图片高度、宽度、通道数 # 批量大小在训练时指定因此输入的数据应该是3维的分别代表图片高度、宽度、通道数 train_images tf.reshape(train_images, (train_images.shape[0], train_images.shape[1], train_images.shape[2], 1)) train_images tf.cast(train_images, tf.float32)test_images tf.reshape(test_images, (test_images.shape[0], test_images.shape[1], test_images.shape[2], 1)) test_images tf.cast(test_images, tf.float32)model my_model(train_images.shape[1:])# 配置神经网络设置损失函数、优化器 loss keras.losses.SparseCategoricalCrossentropy() # 预测值已Softmaxfrom_logits 取默认值 optimizer keras.optimizers.SGD(0.0001) model.compile(lossloss, optimizerkeras.optimizers.SGD(0.00001))# 训练神经网络设置训练集与验证集的比例、迭代次数、batch size等 model.fit(train_images, train_labels, validation_split0.3, epochs1000, batch_size20)pre_labels model.predict(test_images)
http://www.pierceye.com/news/454109/

相关文章:

  • 网站开发前端制作网站flsh怎么做
  • 建设网站需申请什么手续如何申请公司名称注册
  • 中山网站制无锡公司建立网站
  • 优化推广网站网站建设的岗位职责
  • 网站建设制作设计优化兰州如何用织梦建网站
  • wordpress 网站禁用全屏代码百度怎么建设网站
  • 强军网网站建设北京各大网站推广服务公司
  • 西安优秀的集团门户网站建设公司网站建设中 优秀账户的标准
  • 网站建设的对比分析移动设备网站开发注意点
  • 在word上怎么做网站链接网站开发试题
  • 自己做网站新手入门淮北论坛招聘网
  • 建网站的意义大学跳蚤市场网站建设
  • 平阳做网站成都网站优化公司哪家好
  • 庆阳北京网站建设广东省建设工程执业中心网站
  • 佛山哪里有做网站的大学生文创产品设计
  • 电商网站建设运城网站图片链接怎么做的
  • 服务器建网站教程宁波网络营销推广制作
  • 微信公众号属于网站建设网站云解析域名解析
  • 网站的建设及推广在哪找可以做网站的
  • 网站经常修改好不好北京互联网公司50强
  • 知识网站有哪些h5用什么制作
  • 广州网站制作联系方式上海共有多少家企业
  • 自己建一个网站需要什么网站关键词分析工具
  • 建三江建设局网站四川省建设厅官方网站电话
  • 福建志佳建设工程发展有限公司网站vi品牌包装
  • 专业门户网站开发公司龙岩正规全网品牌营销招商
  • 网站怎么做qq微信登陆政务网站的建设时期的概述
  • 购物网站的目的和意义西安做网站xamokj
  • 厦门市建设局网站网站开发周记30篇
  • 工业园区门户网站建设方案塘沽网站开发