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

哪些网站做的比较好看的wap网站制作视频教程

哪些网站做的比较好看的,wap网站制作视频教程,dz做网站,网站备案类型及条件#x1f368; 本文为#xff1a;[#x1f517;365天深度学习训练营] 中的学习记录博客 #x1f356; 原作者#xff1a;[K同学啊 | 接辅导、项目定制] 要求#xff1a; 根据 Pytorch 代码#xff0c;编写出 TensorFlow 代码研究 DenseNet 与 ResNetV 的区别改进思路是…   本文为[365天深度学习训练营] 中的学习记录博客   原作者[K同学啊 | 接辅导、项目定制] 要求 根据 Pytorch 代码编写出 TensorFlow 代码研究 DenseNet 与 ResNetV 的区别改进思路是否可以迁移到其他地方 一、前言 在计算机视觉领域卷积神经网络CNN已经成为最主流的方法比如GoogLenetVGG-16Incepetion等模型。CNN史上的一个里程碑事件是ResNet模型的出现ResNet可以训练出更深的CNN模型从而实现更高的准确度。ResNet模型的核心是通过建立前面层与后面层之间的“短路连接”进而训练出更深的CNN网络。 DenseNet它的基本思路与ResNet一致但是它建立的是前面所有层与后面层的密集连接dense connection它的名称也是由此而来。DenseNet的另一大特色是通过特征在channel上的连接来实现特征重用feature reuse。这些特点让DenseNet在参数和计算成本更少的情形下实现比ResNet更优的性能。 二、设计理念 相比ResNetDenseNet提出了一个更激进的密集连接机制即互相连接所有的层具体来说就是每个层都会接受其前面所有层作为其额外的输入。 图1为ResNet网络的残差连接机制作为对比图2为DenseNet的密集连接机制。可以看到ResNet是每个层与前面的某层一般是2~4层短路连接在一起连接方式是通过元素相加。而在DenseNet中每个层都会与前面所有层在channel维度上连接concat在一起即元素叠加并作为下一层的输入。 对于一个 L 层的网络DenseNet共包含  个连接相比ResNet这是一种密集连接。而且DenseNet是直接concat来自不同层的特征图这可以实现特征重用提升效率这一特点是DenseNet与ResNet最主要的区别。 图1ResNet网络的短路连接机制其中代表的是元素级相加操作 图2DenseNet网络的密集连接机制其中c代表的是channel级连接操作 而对于DesNet则是采用跨通道concat的形式来连接会连接前面所有层作为输入输入和输出的公式是Xl​Hl​(X0​,X1​,...,Xl−1​)。这里要注意所有的层的输入都来源于前面所有层在channel维度的concat用一张动图体会一下: 图3 DenseNet的前向过程  三、网络结构 图4 DenseNet的网络结构  CNN网络一般要经过Pooling或者stride1的Conv来降低特征图的大小而DenseNet的密集连接方式需要特征图大小保持一致。为了解决这个问题DenseNet网络采用DenseBlockTransition的结构其中DenseBlock是包含很多层的模块每个层的特征图大小相同层与层之间采用密集连接方式。而Transition层是连接两个相邻的DenseBlock并且通过Pooling使特征图大小降低。图5给出了DenseNet的网路结构它共包含4个DenseBlock各个DenseBlock之间通过Transition层连接在一起。 图5 采用DenseBlockTransition的DenseNet网络  在DenseBlock中各个层的特征图大小一致可以在channel维度上连接。DenseBlock中的非线性组合函数 H ( ⋅ )的是BN ReLU 3x3 Conv的结构如图所示。另外值得注意的一点是与ResNet不同所有DenseBlock中各个层卷积之后均输入k个特征图即得到的特征图的channel数为k或者说采用k个卷积核。k在DenseNet称为growth rate这是一个超参数。一般情况下使用较小的k就可以得到较佳的性能。 图6 DenseBlock中的非线性转换结构  由于后面层的输入会非常大DenseBlock内部可以采用bottleneck层来减少计算量主要是原有的结构中增加1x1 Conv如图7所示即 BN ReLU 1x1 Conv BN ReLU 3x3 Conv称为DenseNet-B结构。其中1x1 Conv得到4k个特征图它起到的作用是降低特征数量从而提升计算的效率。 图7 使用bottleneck层的DenseBlock结构  对于Transition层它主要是连接两个相邻的DenseBlock并且降低特征图大小。Transition层包括一个1x1的卷积和2x2的AvgPooling结构为BNReLU1x1Conv2x2AvgPooling。另外Transition层可以起到压缩模型的作用。 四、Tensorflow实现 1.代码 import tensorflow as tf from tensorflow.keras import layers, models from tensorflow import kerasdata_dir ./data/bird_photos train_ds tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split0.2, # 分割数据集subsettraining, # 数据集类型seed123,image_size(224, 224),batch_size32)val_ds tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split0.2, # 分割数据集subsetvalidation, # 数据集类型seed123,image_size(224, 224),batch_size32)class BottleNeck(keras.Model):def __init__(self, growth_rate, bn_size4, dropout0.3):super().__init__()self.bn1 layers.BatchNormalization()self.relu layers.Activation(relu),self.conv1 layers.Conv2D(filtersbn_size * growth_rate, kernel_size(1, 1),strides1, paddingsame)self.bn2 layers.BatchNormalization()self.conv2 layers.Conv2D(filtersgrowth_rate, kernel_size(3, 3),strides1, paddingsame)self.dropout layers.Dropout(ratedropout)self.listLayers [self.bn1,self.relu,self.conv1,self.bn2,self.relu,self.conv2,self.dropout]def call(self, x):tem xfor layer in self.listLayers.layers:x layer(x)return layers.concatenate([tem, x], axis-1)class Transition(tf.keras.Model):def __init__(self, growth_rate):super().__init__()self.bn1 layers.BatchNormalization()self.relu layers.Activation(relu)self.conv1 layers.Conv2D(filtersgrowth_rate, kernel_size(1, 1),strides1, activationrelu, paddingsame)self.pooling layers.AveragePooling2D(pool_size(2, 2), strides2, paddingsame)self.listLayers [self.bn1,self.relu,self.conv1,self.pooling]def call(self, x):for layer in self.listLayers.layers:x layer(x)return xclass DenseBlock(tf.keras.Model):def __init__(self, num_layer, growth_rate, bn_size4, dropout0.3, efficientFalse):super().__init__()self.efficient efficientself.listLayers []if self.efficient:_x tf.recompute_grad(BottleNeck(growth_rate, bn_sizebn_size, dropoutdropout))else:_x BottleNeck(growth_rate, bn_sizebn_size, dropoutdropout)for _ in range(num_layer):self.listLayers.append(BottleNeck(growth_rate, bn_sizebn_size, dropoutdropout))def call(self, x):for layer in self.listLayers.layers:x layer(x)return xclass DenseNet(tf.keras.Model):def __init__(self, num_init_feature, growth_rate, block_config, num_classes,bn_size4, dropout0.3, compression_rate0.5, efficientFalse):super().__init__()self.num_channels num_init_featureself.conv layers.Conv2D(filtersnum_init_feature, kernel_size7,strides2, paddingsame)self.bn layers.BatchNormalization()self.relu layers.Activation(relu)self.max_pool layers.MaxPool2D(pool_size3, strides2, paddingsame)self.dense_block_layers []for i in block_config[:-1]:self.dense_block_layers.append(DenseBlock(num_layeri, growth_rategrowth_rate,bn_sizebn_size, dropoutdropout, efficientefficient))self.num_channels compression_rate * (self.num_channels growth_rate * i)self.dense_block_layers.append(Transition(self.num_channels))self.dense_block_layers.append(DenseBlock(num_layerblock_config[-1], growth_rategrowth_rate,bn_sizebn_size, dropoutdropout, efficientefficient))self.avgpool layers.GlobalAveragePooling2D()self.fc tf.keras.layers.Dense(unitsnum_classes, activationtf.keras.activations.softmax)def call(self, x):x self.conv(x)x self.bn(x)x self.relu(x)x self.max_pool(x)for layer in self.dense_block_layers.layers:x layer(x)x self.avgpool(x)return self.fc(x)model DenseNet(num_init_feature64,growth_rate32,block_config[6, 12, 24, 16],compression_rate0.5,num_classes4,dropout0.0,efficientTrue)x tf.random.normal((1, 224, 224, 3)) for layer in model.layers:x layer(x)print(layer.name, output shape:\t, x.shape)AUTOTUNE tf.data.AUTOTUNEtrain_ds train_ds.cache().shuffle(1000).prefetch(buffer_sizeAUTOTUNE) val_ds val_ds.cache().prefetch(buffer_sizeAUTOTUNE) opt tf.keras.optimizers.Adam(learning_rate0.002, decay0.01)model.compile(optimizeropt,losstf.keras.losses.SparseCategoricalCrossentropy(from_logitsTrue),metrics[accuracy]) epochs 10 history model.fit(train_ds, validation_dataval_ds, epochsepochs) 2.输出 Found 565 files belonging to 4 classes. Using 113 files for validation. conv2d output shape: (1, 112, 112, 64) batch_normalization output shape: (1, 112, 112, 64) activation output shape: (1, 112, 112, 64) max_pooling2d output shape: (1, 56, 56, 64) dense_block output shape: (1, 56, 56, 256) transition output shape: (1, 28, 28, 128) dense_block_1 output shape: (1, 28, 28, 512) transition_1 output shape: (1, 14, 14, 256) dense_block_2 output shape: (1, 14, 14, 1024) transition_2 output shape: (1, 7, 7, 512) dense_block_3 output shape: (1, 7, 7, 1024) global_average_pooling2d output shape: (1, 1024) dense output shape: (1, 4) Epoch 1/10 15/15 [] - 83s 5s/step - loss: 2.5051 - accuracy: 0.4508 - val_loss: 37955.5703 - val_accuracy: 0.3186 Epoch 2/10 15/15 [] - 75s 5s/step - loss: 1.1275 - accuracy: 0.6922 - val_loss: 3854.2537 - val_accuracy: 0.2301 Epoch 3/10 15/15 [] - 78s 5s/step - loss: 0.6559 - accuracy: 0.7780 - val_loss: 794.8064 - val_accuracy: 0.3186 Epoch 4/10 15/15 [] - 84s 6s/step - loss: 0.5599 - accuracy: 0.7926 - val_loss: 94.6405 - val_accuracy: 0.2655 Epoch 5/10 15/15 [] - 74s 5s/step - loss: 0.7278 - accuracy: 0.7682 - val_loss: 45.8066 - val_accuracy: 0.3186 Epoch 6/10 15/15 [] - 74s 5s/step - loss: 0.3567 - accuracy: 0.8904 - val_loss: 16.1634 - val_accuracy: 0.3186 Epoch 7/10 15/15 [] - 74s 5s/step - loss: 0.2239 - accuracy: 0.9287 - val_loss: 10.3661 - val_accuracy: 0.3186 Epoch 8/10 15/15 [] - 75s 5s/step - loss: 0.1488 - accuracy: 0.9406 - val_loss: 1.8957 - val_accuracy: 0.5044 Epoch 9/10 15/15 [] - 75s 5s/step - loss: 0.1024 - accuracy: 0.9630 - val_loss: 1.1245 - val_accuracy: 0.6018 Epoch 10/10 15/15 [] - 76s 5s/step - loss: 0.0563 - accuracy: 0.9895 - val_loss: 1.2219 - val_accuracy: 0.5133 具体代码细节在之前的文章中已有涉及故不再做具体解释。
http://www.dnsts.com.cn/news/259176.html

相关文章:

  • 网站建设环境感叹号分销系统
  • 做不锈钢百度网站哪个比较好wordpress 图片整理
  • 意见反馈的网站怎么做企业官网如何建设
  • 儿童摄影网站建设斗图在线制作网站
  • 专业网站建设怎么样网站开发项目经验怎么写
  • 网站开发给网站设置图标在什么文件中写代码广告宣传片公司
  • 哪些网站可以做平面设计挣钱工作证的照片几寸
  • wordpress 4.9.2漏洞郑州做网站优化运营商
  • 网站建设 书籍长沙互联网四大巨头
  • 农业行业网站模板有经验的南昌网站设计
  • 嘉兴公司的网站设计淘宝客网站建设视频教程
  • 物理组简介 网站建设seo工具下载
  • 芜湖网站建设费用上海注册汽车租赁公司
  • 马鞍山哪里做网站企业网站免费建站程序
  • 学生创意设计作品说明网站优化毕业设计
  • 石青网站推广软件互联网营销师有必要考吗
  • vps被攻击网站打不开ping值高上海市企业
  • 自建网站费用网站如何添加内容
  • 网站建设哪个公司最好东莞市住房
  • 制作推广网站重庆网站建设总结
  • 如果网站曾被挂木马Wordpress 导航条样式
  • 苏州自助模板建站欧洲applestore
  • 网站设计制作费用多少北京网站设计制作教程
  • 电子商务网站创业计划书ui设计师需要考什么证
  • 网站月流量5g快速做网站优化
  • 返利导购网站建设需求文档网站建设大约多少钱
  • 网站关键词排名突然没了it运维外包公司
  • 在线课程网站开发价格房产网新房
  • wordpress author桔子seo网
  • 网站服务韩国足球出线