alexnet

AlexNet网络

依然范特西╮ 提交于 2019-12-10 03:48:22
AlexNet网络的实现 导入必要的工具包 import time import torch from torch import nn , optim import torchvision 添加路径并且根据有无GPU进行选择 import sys sys . path . append ( ".." ) import d2lzh_pytorch as d2l device = torch . device ( 'cuda' if torch . cuda . is_available ( ) else 'cpu' ) 搭建自己的神经网络层 class AlexNet ( nn . Module ) : def __init__ ( self ) : super ( AlexNet , self ) . __init__ ( ) self . conv = nn . Sequential ( nn . Conv2d ( 1 , 96 , 11 , 4 ) , nn . ReLU ( ) , nn . MaxPool2d ( 3 , 2 ) , nn . Conv2d ( 96 , 256 , 5 , 1 , 2 ) , nn . ReLU ( ) , nn . MaxPool2d ( 3 , 2 ) , nn . Conv2d ( 256 , 384 , 3 , 1 , 1 ) ,

动手学PyTorch | (23) AlexNet

孤人 提交于 2019-12-08 14:46:53
在LeNet提出后的将近20年里,神经⽹络⼀度被其他机器学习⽅法超越,如支持向量机。虽然LeNet可以在早期的⼩数据集上取得好的成绩,但是在更大的真实数据集上的表现并不尽如人意。⼀⽅面,神经⽹络计算复杂。虽然20世纪90年代也有过⼀一些针对神经网络的加速硬件,但并没有像之后GPU那样⼤量普及。因此,训练⼀个多通道、多层和有大量参数的卷积神经网络在当年很难完成。另⼀方面,当年研究者还没有⼤量深⼊研究参数初始化和⾮凸优化算法等诸多领域,导致复杂的神经网络的训练通常较困难。 我们在上一节看到,神经网络可以直接基于图像的原始像素进行分类。这种称为端到端(end-to- end)的⽅法节省了很多中间步骤。然而,在很长⼀段时间里更流行的是研究者通过勤劳与智慧所设计并⽣成的⼿工特征(特征工程)。这类图像分类研究的主要流程是: 1)获取图像数据集 2)使用已有的特征提取函数生成图像的特征 3)使用机器学习模型对图像的特征分类 当时认为的机器学习部分仅限最后这一步。如果那时候跟机器学习研究者交谈,他们会认为机器学习既􏰁重要又优美。优雅的定理证明了许多分类器的性质。机器学习领域生机勃勃、严谨⽽且极其有用。然而,如果跟计算机视觉研究者交谈,则是另外⼀一幅景象。他们会告诉你图像识别⾥“不可告⼈”的现实是:计算机视觉流程中真正􏰁重要的是数据和特征。也就是说,使用较⼲净的数据集和较有效的特征甚⾄

Alexnet

 ̄綄美尐妖づ 提交于 2019-12-05 09:43:55
""" AlexNet Keras implementation """ # Import necessary libs import os from keras.models import Model from keras.layers import Conv2D, MaxPool2D, ZeroPadding2D, Dense, Dropout, \ Activation, Flatten, BatchNormalization, Input from keras.regularizers import l2 from keras.preprocessing.image import ImageDataGenerator from keras.utils import multi_gpu_model from keras.callbacks import TensorBoard, EarlyStopping import math os.environ[ "CUDA_VISIBLE_DEVICES "] = "2, 3 " def AlexNet( input_shape =( 224, 224, 3), num_classes = 10, l2_reg = 0.0, weights = None): """ AlexNet model :param input_shape:

一目了然卷积神经网络 - An Intuitive Explanation of Convolutional Neural Networks

冷暖自知 提交于 2019-12-05 07:14:14
前言:简单翻译了一篇介绍卷积网络的文章,以学习了解卷积网络运行机制。 An Intuitive Explanation of Convolutional Neural Networks 原文地址: https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/comment-page-4/?unapproved=31867&moderation-hash=1ac28e426bc9919dc1a295563f9c60ae#comment-31867 一、什么是卷积神经网络、为什么卷积神经网络很重要?   卷积神经网络<Convolutional Neural Networks>简称ConvNets 或CNNs 属于分类神经网络,在某些领域已经被验证非常有效,比如图像识别、分类领域。ConvNets 不仅仅在人脸、物体、交通标志识别成功而且还助力于机器视觉与自动驾驶。 图 1: 来源 [ 1 ]   在上图 图1 中ConvNet 可以识别场景并且系统可以建立相关关联(“一个足球运动员在踢足球”),然而在下图 图2 的示例中展示了ConvNets 用于识别物体、人和动物。最近,ConvNets 在某些自然语言处理任务(例如句子分类)中也有效。[ 注:微软小冰、苹果Siri 等,读者也可以调用微软AI搭建自己的应用程序

目标检测:AlexNet

霸气de小男生 提交于 2019-12-05 04:30:31
AlexNet是2012年ImageNet竞赛冠军。 它是在CNN的基础上设计的,CNN(卷积神经网络)可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀。CNN从90年代的LeNet开始,21世纪初沉寂了10年,直到12年AlexNet开始又再焕发第二春。AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中。添加了ReLU、Dropout和LRN等。 (1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Sigmoid在网络较深时的梯度弥散问题。虽然ReLU激活函数在很久之前就被提出了,但是直到AlexNet的出现才将其发扬光大。 (2)训练时使用Dropout随机忽略一部分神经元,以避免模型过拟合。Dropout虽有单独的论文论述,但是AlexNet将其实用化,通过实践证实了它的效果。在AlexNet中主要是最后几个全连接层使用了Dropout。 (3)在CNN中使用重叠的最大池化。此前CNN中普遍使用平均池化,AlexNet全部使用最大池化,避免平均池化的模糊化效果。并且AlexNet中提出让步长比池化核的尺寸小,这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。 (4)提出了LRN层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大

SIGAI深度学习第八集 卷积神经网络2

百般思念 提交于 2019-12-04 01:00:44
讲授Lenet、Alexnet、VGGNet、GoogLeNet等经典的卷积神经网络、Inception模块、小尺度卷积核、1x1卷积核、使用反卷积实现卷积层可视化等。 大纲: LeNet网络 AlexNet网络 VGG网络 GoogLeNnet网络 反卷积可视化 数学特性 根据卷积结果重构图像 本集总结 LeNet网络: LeNet-5网络是Y.LeCun1998年提出来的,现在尊称Y.LeCun为卷积神经网络之父,后来他去了Facebook的AI实验室。 这是第一个广为传播的卷积网络,规模很小,但五脏俱全(卷积、池化、全连接层都有),用于手写文字的识别,采用了标准的卷积层,池化层,全连接层结构,此后各种卷积网络的设计都借鉴了它的思想。 这篇文章提出的方法并没有大规模的被使用和广泛地引起关注,当时是SVM、AdaBoost占据优势,从1998年LeNet出现以后到2012年AlexNet出现,之间的十几年里边,卷积神经网络并没有得到很好的发展。 LeNet网络的结构: MINIST数据集,两个卷积层、两个池化层、一些全连接层,输入图像32×32的灰度图像,第一个卷积层的卷积核的尺寸是5×5的六组卷积核,第一层卷积之后,得到6张(6通道)28×28的图像,再经过2×2的池化层变为6张14×14的图像。 第二个卷积层为16组卷积核,卷积核尺寸也是5×5的

tensorflow alexnet实现

匿名 (未验证) 提交于 2019-12-03 00:30:01
from __future__ import absolute_import from __future__ import division from __future__ import print_function import argparse from datetime import datetime import math import sys import time from six.moves import xrange # pylint: disable=redefined-builtin import tensorflow as tf FLAGS = None def print_activations(t): print(t.op.name, ' ', t.get_shape().as_list()) def inference(images): """Build the AlexNet model. Args: images: Images Tensor Returns: pool5: the last Tensor in the convolutional component of AlexNet. parameters: a list of Tensors corresponding to the weights and biases of the

AlexNet

匿名 (未验证) 提交于 2019-12-03 00:27:02
AlexNet是较早期的一个卷积神经网络,由于其在ImageNet比赛中的出色表现(top1与top5的error rate分别为37.5%与17%),也掀起了学术界对深度学习的研究热潮,下面结合AlexNet的论文,对AlexNet进行简单的总结,有不足的地方,欢迎指正。 AlexNet为8层结构,其中前5层为卷积层,后面3层为全连接层,学习参数6千万个,神经元约有650,000个。 AlexNet在两个GPU同时训练完成。 如图所示,AlexNet第2、4、5层均是与前一层自己GPU内连接,第3层是与前面两层全连接,全连接层是2个GPU全连接。 RPN层在第1、2个卷积层后。 Max pooling层在RPN层以及第5个卷积层后。 ReLU在每个卷积层以及全连接层后。 卷积核大小数量:(由此也可以看出,第二层连接2个GPU其他没有) conv1: 96 11*11*3 conv2: 256 5*5*48 conv3: 384 3*3*256 conv4: 384 3*3*192 conv5: 256 3*3*192 AlexNet的训练数据主要采用ILSVRC2010数据集,其为ImageNet的子集,包含1000类,共1.2million训练图像,50,000验证集,150,000的测试集。 alexNet对于数据的处理方法如下: 初步处理 首先将不同分辨率图像变换到256

部分AlexNet构建

匿名 (未验证) 提交于 2019-12-03 00:22:01
取自于TensorFlow实战 ''' 本文代码中的AlexNet不是完整的,书中也只给了卷积网络的构建,全连接层是博主自己加的,后面会分享完整的AlexNet 因为设备运算速度原因,只计算前向和反向的计算时间。 AlexNet使用了五个卷积层,各卷积层使用了relu、LRN,maxpool等trick 每层的卷积核大小和卷积步长需要经验和实践尝试 LRN层现在很少使用了,因为效果不是很明显,可以不加 maxpool层有ksize=[1,3,3,1],strides=[1,2,2,1],有重叠,可以增加特征的丰富性 ''' from datetime import datetime import tensorflow as tf import math import time #设置TensorFlow的CPU运算优先级 import os os.environ['TF_CPP_MIN_LOG_LEVEL']='2' #设置训练参数 batch_size=128 num_batches=100 #节点信息打印 def print_activation(t): print(t.op.name,' ',t.get_shape().as_list()) #网络构建 def inference(images): #参数信息列表 parameters=[] #第一卷积层 with tf