深度学习框架TensorFlow学习----100行代码实现AlexNet

李沐动手学深度学习V2-AlexNet模型和代码实现 1. AlexNet 1.1 AlexNet概要 如果你和机器学习研究人员交谈,你会发现他们相信机器学习既重要又美丽:优雅的理论去证明各种模型的性质。机器学习是一个正在蓬勃发展、严谨且非常有用的领域。然而,如果你和计算机视觉研究人员交谈,你会听到一个完全不同的故事。他们会告诉你图像识别的诡异事实————推动领域进步的是数据特征,而不是学习算法。计算机视觉研究人员相信**,从对最终模型精度的影响来说,更大或更干净的数据集、或是稍微改进的特征提取,比任何学习算法带来的进步要大得多。** 2012年,AlexNe 阅读详情
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot= True)

import tensorflow as tf

#define the parameter of the NET
learning_rate = 0.001
training_iters = 200000   #iters
batch_size = 64  # the number of the train_data in Every iterarion
display_step = 20

n_input = 784 #the dimentional of the input
n_classes =10 # the class of the label
dropout = 0.8

x = tf.placeholder("float", [None,n_input])  #this is easy to change the train data
y = tf.placeholder("float", [None,n_classes])
keep_prob = tf.placeholder("float")

#define the conv operate
def conv2d(name,I_inpuit, w, b):
    return tf.nn.relu(tf.nn.bias_add(tf.nn.conv2d(I_inpuit,w,strides=[1,1,1,1],padding='SAME'),b),name=name)

def max_poll(name, I_input,k):
    return tf.nn.max_pool(I_input,ksize=[1,k,k,1],strides=[1,k,k,1],padding='SAME',name=name)

def norm(name,I_input,lsize=4):
    return tf.nn.lrn(I_input,lsize,bias=1.0,alpha=0.001/9.0,beta=0.75,name=name)

#define the framework of the network
def Alex_net(X, weights,biases,dropout):
    X = tf.reshape(X,shape=[-1,28,28,1])

    #layer 1
    conv1 = conv2d('conv1',X ,weights['wc1'],biases['bc1'])
    pool1 = max_poll('pool1',conv1, k=2)
    norm1 = norm('norm1',pool1,lsize =4)
    norm1 = tf.nn.dropout(norm1,dropout)

    #layer 2
    conv2 = conv2d('conv2',norm1,weights['wc2'],biases['bc2'])
    pool2 = max_poll('pool2',conv2,k=2)
    norm2 = norm('norm2',pool2,lsize=4)
    norm2 = tf.nn.dropout(norm2,dropout)

    #layer 3
    conv3 = conv2d('conv3',norm2,weights['wc3'],biases['bc3'])
    pool3 = max_poll('pool3',conv3,k=2)
    norm3 = norm('norm3',pool3,lsize=4)
    norm3 = tf.nn.dropout(norm3,dropout)

    #full-connected network
    fc1 = tf.reshape(norm3, [-1, weights['wf1'].get_shape().as_list()[0]])
    fc1 = tf.nn.relu(tf.matmul(fc1, weights['wf1'])+biases['bf1'],name='fc1')
    fc2 = tf.nn.relu(tf.matmul(fc1,weights['wf2'])+biases['bf2'],name='fc2')

    #output layer

    out = tf.matmul(fc2,weights['out'])+biases['out']

    return out
    #save the parameters
weights = {
    'wc1':tf.Variable(tf.random_normal([3,3,1,64])),
    'wc2':tf.Variable(tf.random_normal([3,3,64,128])),
    'wc3':tf.Variable(tf.random_normal([3,3,128,256])),
    'wf1':tf.Variable(tf.random_normal([4*4*256,1024])),
    'wf2':tf.Variable(tf.random_normal([1024,1024])),
    'out':tf.Variable(tf.random_normal([1024,10]))
    }

biases = {
    'bc1':tf.Variable(tf.random_normal([64])),
    'bc2':tf.Variable(tf.random_normal([128])),
    'bc3':tf.Variable(tf.random_normal([256])),
    'bf1':tf.Variable(tf.random_normal([1024])),
    'bf2':tf.Variable(tf.random_normal([1024])),
    'out':tf.Variable(tf.random_normal([10]))
    }
# model the learning network
pred = Alex_net(x,weights,biases,keep_prob)

#define the loss and train_step
loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(pred,y))
train_step = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(loss)

#test the network
correct_pred = tf.equal(tf.argmax(pred,1),tf.argmax(y,1))
accuary = tf.reduce_mean(tf.cast(correct_pred,tf.float32))

#initialize the variables

init = tf.initialize_all_variables()

# TRAIN
with tf.Session() as sess:
    sess.run(init)
    step = 1
    #Keep training until reach the max iteration
    while step * batch_size < training_iters:
        batch_xs,batch_ys = mnist.train.next_batch(batch_size)
        sess.run(train_step,feed_dict={x:batch_xs,y:batch_ys,keep_prob:dropout})
        if step%display_step==0:
            acc = sess.run(accuary,feed_dict={x:batch_xs,y:batch_ys,keep_prob:1})
            losses = sess.run(loss,feed_dict={x:batch_xs,y:batch_ys,keep_prob:1})
            print "Iter"+str(step*batch_size)+",Minibatch_loss = "+"{:.6f}".format(losses)+",Training Accuary"+"{:.5f}".format(acc)
        step +=1
    print "Optimization Finished!"

    # Test the accuary
    print "Testing Accuary:", sess.run(accuary,feed_dict={x:mnist.test.images[:256],y:mnist.test.labels[:256],keep_prob:1})
从AlexNet开始(二):利用AlexNet结构学习tensorflow 从AlexNet开始(二) 本篇博客将会介绍如何改进AlexNet的网络结构使其应用于CIFAR-10数据集的图像分类,并给出大部分代码,代码使用python语言与tensorflow框架。 CIFAR-10数据集简介 CIFAR数据集是由深度学习三大牛之一的Hinton大佬的两个大弟子Alex Krizhevsky与Ilya Sutskever收集的一个用于普适物体识别的数据集,其 阅读详情

相关推荐

Tensorflow实现AlexNet

0、CNN结构演化历史的图 一、AlexNet 1、 模型介绍 ​ AlexNet是由Alex  KrizhevskyAlex Krizhevsky提出的首个应用于图像分类的深层卷积神经网络,该网络在2012年ILSVRC(ImageNet Large Scale Visual Recognition Competition)图像分类竞赛中以15.3%的top-5测试错误率赢得第一名^{...

Yuancccc的博客 685

AlexNet模型及代码详解

Alex在2012年提出的alexnet网络结构模型引爆了神经网络的应用热潮,并赢得了2012届图像识别大赛的冠军,使得CNN成为在图像分类上的核心算法模型。 该网络的亮点在于: (1)首次使用了GPU进行网络加速训练。 (2)使用了ReLU激活函数,而不是传统的Sigmoid激活函数以及Tanh激活函数。 (3)使用了LRN局部响应归一化。 (4)在全连接层的前两层中使用了Droupout随机失活神经元操作,以减少过拟合。 模型组成 输入层 5个卷积层 3个全链接层 输入层: 输入大小为..

weixin_42457110的博客 6640

AlexNet模型tensorflow实现

AlexNet模型tensorflow实现

m0_73817310的博客 547

图像分类或检测完整代码--搭建AlexNet模型--tensorflow实现

在这里插入代码片

Strive_LiJiaLe的博客 2033

深度学习100例-卷积神经网络(AlexNet)手把手教学 | 第11天

文章目录一、前期工作1. 设置GPU2. 导入数据3. 查看数据二、数据预处理1. 加载数据2. 可视化数据3. 再次检查数据4. 配置数据集三、AlexNet介绍1.AlexNet介绍四、构建AlexNet (8层)网络模型五、编译六、训练模型七、模型评估八、保存and加载模型九、预测 一、前期工作 本文将采用AlexNet实现鸟类图片的识别分类 我的环境: 语言环境:Python3.6.5 编译器:jupyter notebook 深度学习环境:TensorFlow2.4.1 来自专栏:【深度学习1

“365天深度学习训练营”报名进行中~ 7543

OpenCV-Python实战(18)——深度学习简介与入门示例

深度学习已经成为机器学习中最受欢迎和发展最快的领域。自 2012 年深度学习性能超越机器学习等传统方法以来,深度学习架构开始快速应用于包括计算机视觉在内的众多领域。深度学习的常见应用包括语音识别、图像识别、自然语言处理、推荐系统等等。在本文中,首先介绍传统机器学习方法与深度学习间的差异,然后将介绍图像分类和对象检测中常见的深度学习架构,最后,将介绍深度学习 Python 库 Keras,并通过实战来推开深度学习的大门。

盼小辉丶的博客 2万+

教你用TensorFlow搭建AlexNet

勿满足于眼前的小小成就。你要问自己,我这辈子只有这样吗。 AlexNet模式是在2012年提出来的,并且在当年获得了ILSVRC的冠军,top-5的错误率为16.4%,比第二名的成绩26.2%高出许多,也从此开始确立了深度学习在计算机视觉的统治地位,是一块重要的里程碑。 该模型包含了几个比较新的技术点: 成功使用ReLu作为CNN的激活函数,验证了其效果在较深网络中比Sigmoid更好 ...

流月的博客 1690

AlexNet论文和源码.zip

深度学习经典网络AlexNet。其中包含有AlexNet经典论文和这篇英文论文的详细解读,还有tensorflow框架下的源代码实现。以及一个minist数据集的实践项目。对深度学习有兴趣的同学们可以下载。

神经网络之AlexNet模型的实现(Python+TensorFlow)

用Python+TensorFlow实现经典的AlexNet网络模型,增加理解,留作笔记。

不眠旅行 4278

【老生谈算法】可视化通道流中瞬时涡量场的算法实现与MATLAB源码分析——瞬时涡量场

本文旨在探讨可视化通道流中瞬时涡量场的方法,并通过MATLAB编程实现这一过程。涡量场作为描述流体旋涡强度和方向的重要物理量,对于理解复杂流体运动具有重要意义。本文首先介绍了涡量场的基本概念,随后详细阐述了从测量数据收集到涡量场可视化的完整流程,并给出了相应的MATLAB源码。通过实际运行该源码,我们展示了涡量场的可视化结果,并讨论了其在流动结构识别和动力学行为理解中的应用。关键词: 涡量场;流体运动;MATLAB;可视化;PIV一、引言。

m0_53407570的博客 1125

5分钟搞懂SCMA:稀疏码多址接入的核心原理与实战应用

本文深入浅出地解析了SCMA(稀疏码多址接入)的核心原理与实战应用。通过对比传统正交多址技术,阐释了SCMA如何通过非正交叠加和稀疏码本设计,实现远超资源单元数的用户接入,从而有效应对5G海量机器通信(mMTC)的挑战。文章还探讨了其在上行海量连接、免授权接入等场景的应用潜力及工程实现中的关键考量。

zeta9的博客 264

TensorFlow实现经典深度学习网络(1):TensorFlow实现AlexNet

TensorFlow实现经典深度学习网络(1):TensorFlow实现AlexNet     本文介绍的经典卷积神经网络为AlexNet,他是由Hinton的学生Alex Krizhevsky提出。AlexNet可以说是在2012年被发表的一个经典之作,它可以算是LeNet的一种更深更宽的版本,并在当年取得了ImageNet最好成绩,点燃了深度学习这把火。也是在那年之后,更多的更深

Zhenguo_Yan的博客 3425

【ROS】usb_cam相机标定

1. 唠叨两句 当我们要用相机做测量用途时,就需要做相机标定了,不然得到的计算结果会有很大误差,标定的内容包括三部分:内参,外参还有畸变参数。所以标定的过程就是要求得上面这些参数。 以前弄这个事估计挺麻烦,需要做实验和计算才能得到,现在通过ros的开源包几分钟就能完成相机标定,感激! 具体的内外参和畸变系数的说明,可以看看Reference里面的第一个链接,写得很详细。 2. 准备工作 要准备三样东西: usb_cam的ROS启动包 相机标定的ROS包 还有一个用于标定的棋盘格 1)usb_cam启动包

Will_Ye的博客 8202

tensorflow实现AlexNet

AlexNet结构 及 pytorch、tensorflow、keras、paddle实现ImageNet识别 环境 python3.6,tensorflow-gpu 1.12.0 代码 # -*- coding: utf-8 -*- # @Time : 2020/1/21 11:17 # @Author : Zhao HL # @File : alexnet-tensorfl...

DL_GIS 563

spyglass之功耗分析

用于功耗分析的软件除了ptpx外,spyglass也可以。ptpx的功耗分析是基于netlist(网表)进行的,一般用于分析综合后的pre功耗和P&R后的post功耗,但这已经是项目进行到比较后期了,如果后期发现功耗数据与我们目标功耗相差较大,则意味着需要功耗优化,这时有可能会将项目计划节点延迟。如果在前期designer可以获得设计模块的功耗数据,可提早优化功耗,spyglass则为designer提供了一个很好的手段去评估功耗,从而提前优化功耗。

u011974971的博客 9198

【温室气体数据集】CAMS 发布的温室气体(GHG)数据集总结

【温室气体数据集】CAMS 发布的温室气体(GHG)数据集总结

WW、forever的博客 555

TensorFlow实现AlexNet

一、AlexNet的介绍 2012年,Hinton的学生ALex Krizhevsky提出了深度卷积神经网络模型AlexNet,它可以算是LeNet的一种更深更宽的版本。AlexNet中包含了几个新的技术点,首次在CNN中成功应用了ReLU,Dropout和LRN等技术。AlexNet包含6亿3000万个连接,6000万个参数和65万个神经元,拥有5个卷积层,其中3个卷积层后面连接了最大池化层,...

励志的小胡子 659

拉曼光谱入门:10.显微拉曼与共聚焦技术

本文系统阐述了显微拉曼光谱技术与共聚焦原理的融合机制,详细解析了从激光激发、针孔空间滤波到光谱采集的完整光路架构,阐明了共聚焦设计在提升三维空间分辨率、抑制荧光背景及实现微区无损层析方面的核心优势,并探讨了关键光学器件的性能边界与系统技术局限。

qq_53529450的博客 167

深度学习 100+ 经典模型 TensorFlow 与 PyTorch 代码实现大集合

本文转自 | 专知(id: Quan_Zhuanzhi)深度学习在过去十年获得了极大进展,出现很多新的模型,并且伴随TensorFlow和Pytorch框架的出现,有很多实现,但对于初学...

weixin_40920183的博客 737

在 SAP 里玩转 FTP:标准程序 RSFTP00x 全景解析与落地实践

摘要:SAP系统通过封装的标准FTP程序(RSFTP001-008)提供便捷的文件传输能力,适用于各类集成场景。关键点包括:1)依赖SAPFTP可执行程序和RFC目的地;2)使用RSFTP005进行前置检查并生成RFC配置;3)标准报表各司其职,如RSFTP002用于命令测试、RSFTP007/008提供参考实现;4)开发时组合FTP_CONNECT/COMMAND/DISCONNECT等函数模块。特别注意前台(SAPFTP)与后台(SAPFTPA)的环境差异,这是常见故障点。该方案通过标准化工具链显著降低

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 210

大数据Alluxio面试题及参考答案

Alluxio 在大数据生态里的定位是作为数据编排层,能在不同计算框架和存储系统之间起到桥梁的作用。它的核心功能在于加速数据访问,让大数据应用能够更高效地使用数据。Alluxio 把数据存储和数据处理分离开来,使计算框架可以在不考虑底层存储细节的情况下访问数据,这样就提高了系统的灵活性和可扩展性。Alluxio 和 HDFS 既存在关联又有区别。从关联方面来看,HDFS 是一种广泛使用的分布式文件系统,很多大数据应用都将其作为主要的数据存储系统。Alluxio 可以和 HDFS 集成,把 HDFS 当作底层

大模型大数据攻城狮的专栏 862

Tensorflow实例:实现AlexNet

AlexNet以显著的优势赢得了ILSVRC 2012比赛的冠军,可以说是神经网络在低谷期后的第一次发声,确立了深度学习在计算机视觉的统治地位,同时也推动了深度学习在语音识别、自动语言处理、强化学习等领域的扩展。 AlexNet将LeNet的思想发扬光大,把CNN的基础原理应用到了很深很宽的网络中。

蚊子爱牛牛的博客 2064

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

TensorBoard可视化指南:追踪finetune_alexnet_with_tensorflow训练过程

TensorBoard可视化是深度学习训练过程中不可或缺的监控工具,它能帮助开发者直观地追踪模型训练进度、分析模型性能。本文将详细介绍如何在finetune_alexnet_with_tensorflow项目中使用TensorBoard来监控AlexNet微调过程,让您轻松掌握训练状态,优化模型效果。无论您是深度学习新手还是经验丰富的开发者,这篇TensorBoard可视化指南都将为您提供实用的监

gitblog_00367的博客 924

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

AlexNet与TensorFlow实现

一.简介: 2012年,AlexNet以显著的优势赢得了竞争激烈的ILSVRC2012比赛,其官方提供的数据模型,准确率达到57.1%,top 1-5达到80.2%。AlexNet的出现点燃了深度学习的热潮,可以说是神经网络低谷期后的第一次发声,确立了深度学习在计算机视觉领域的统治地位。 二.AlexNet使用的新技术: 1.使用ReLU作为CNN的激活函数,解决了sigmoid在训练较深的

jinzz1314的博客 581

AlexNet实战避坑指南:如何用TensorFlow高效训练小规模数据集(100x100图像示例)

本文针对小规模数据集(如100x100图像)训练AlexNet模型时常见的过拟合问题,提供了一套完整的TensorFlow实战避坑指南。通过详解网络结构调整、数据增强、动态学习率与Dropout等关键策略,帮助读者高效提升模型泛化能力,让有限数据发挥最大价值。

grpc6streamer的博客 832

用Tensorflow实现AlexNet识别猫狗数据集(猫狗大战)【附代码】

AlexNet识别猫狗数据集一、下载猫狗数据集二、AlexNet实现1、划分训练集和测试集2、AlexNet实现3、训练过程 一、下载猫狗数据集 百度云链接如下 链接:https://pan.baidu.com/s/1KWYrGVVS6He7lO7skyhgQQ 提取码:p2dd 二、AlexNet实现 1、划分训练集和测试集 因为猫狗大战的测试集没有label所以说我们就从训练集中抽取20%作为测试集,代码如下图所示 import os, random, shutil def moveFile(fileD

xiamencomingsoon的博客 4374
上一篇: 深度学习框架TensorFlow学习总结-----第一个代码就是BUG
下一篇: P-N学习介绍
小小菜鸟一只
博客等级 码龄14年 610粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值