VGG

文章作者: YuKiFuHaNe
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 YuKiFuHaNeの博客!
相关推荐

2023-07-14
卷积神经网络
from tensorflow import keras from tensorflow.keras import layers import tensorflow as tf import numpy as np import matplotlib.pyplot as plt %matplotlib inline 加载fashion_mnist数据集12fashion_mnist = keras.datasets.fashion_mnist(train_images,train_labels),(test_images,test_labels) = fashion_mnist.load_data() 维度扩增12train_images = np.expand_dims(train_images,-1)#扩张维度 -1表示扩增最后一个维度test_images = np.expand_dims(test_images,-1) 模型搭建123456789101112131415161718192021222324252627282930313233343536373839m...

2023-07-14
一维卷积概念

2023-07-14
著名的CNN架构
VGG ImageNet 预训练网络 Keras内置预训练网络 VGG两个很大的缺点 网络架构weight数量相当大,很消耗磁盘空间。 训练非常慢 由于其全连接节点的数量较多,再加上网络比较深,VGG16 有533MB+,VGG19有574MB。这使得部署VGG比较耗时。 微调:==冻结模型库的底部的卷积层, 共同训练新添加的分类器层和顶部部分卷积层。==底部卷积层:提取通用特征(通用纹理,细小规则) 顶部卷积层:随着窗口视野的扩大,形成抽象特征(特点物品识别) ==微调步骤== 在预训练卷积基上添加自定义层 冻结卷积基所有层 训练添加的分类层 解冻卷积基的一部分层 联合训练解冻的卷积层和添加的自定义层}

2023-07-14
GPU的使用与分配
获得当前主机上运算设备列表1234gpus = tf.config.experimental.list_physical_devices(device_type='GPU')cpus = tf.config.experimental.list_physical_devices(device_type='CPU') 设置当前程序可见的设备范围当前程序只会使用自己可见的设备,不可见的设备不 会被当前程序使用,因此可以设置当前程序可见的设 备范围。1234gpus=tf.config.experimental.list_physical_devices(device_type='GPU')#可见设备范围tf.config.experimental.set_visible_devices(devices=gpus[0:2], device_type='GPU')#设置前两快可见 指定程序只在显卡 2,3 上运行。12import osos.environ['CUDA_VISIBLE_DEVIC...

2023-07-14
多输出模型实例
import tensorflow as tf from tensorflow import keras import matplotlib.pyplot as plt %matplotlib inline import numpy as np import pathlib 打印Tensorflow版本1print('Tensorflow version:{}'.format(tf.__version__)) 打印是否支持GPU加速1print(tf.test.is_gpu_available()) 图片文件根目录1data_dir = './dataset/moc' 1data_root = pathlib.Path(data_dir) 12data_rootWindowsPath('dataset/moc') 获取所有图片路径1all_image_paths = list(data_root.glob('*/*')) 12345678910all_image_pa...

2023-07-14
keras.layers 各网络层介绍
一、网络层keras的层主要包括: 常用层(Core)、卷积层(Convolutional)、池化层(Pooling)、局部连接层、递归层(Recurrent)、嵌入层( Embedding)、高级激活层、规范层、噪声层、包装层,当然也可以编写自己的层。 对于层的操作 12345678910111213141516layer.get_weights() #返回该层的权重(numpy array)layer.set_weights(weights)#将权重加载到该层config = layer.get_config()#保存该层的配置layer = layer_from_config(config)#加载一个配置到该层#如果层仅有一个计算节点(即该层不是共享层),则可以通过下列方法获得输入张量、输出张量、输入数据的形状和输出数据的形状:layer.inputlayer.outputlayer.input_shapelayer.output_shape#如果该层有多个计算节点。可以使用下面的方法layer.get_input_at(node_index)layer.get_outpu...

