智能平台

【图解AI:动图】各种类型的卷积,你认全了吗?

雨燕双飞 提交于 2019-11-29 09:05:30
卷积(convolution) 是深度学习中非常有用的计算操作,主要用于提取图像的特征。在近几年来深度学习快速发展的过程中,卷积从标准卷积演变出了反卷积、可分离卷积、分组卷积等各种类型,以适应于不同的场景,接下来一起来认识它们吧。 一、卷积的基本属性 卷积核(Kernel): 卷积操作的感受野,直观理解就是一个滤波矩阵,普遍使用的卷积核大小为3×3、5×5等; 步长(Stride): 卷积核遍历特征图时每步移动的像素,如步长为1则每次移动1个像素,步长为2则每次移动2个像素(即跳过1个像素),以此类推; 填充(Padding): 处理特征图边界的方式,一般有两种,一种是对边界外完全不填充,只对输入像素执行卷积操作,这样会使输出特征图的尺寸小于输入特征图尺寸;另一种是对边界外进行填充(一般填充为0),再执行卷积操作,这样可使输出特征图的尺寸与输入特征图的尺寸一致; 通道(Channel): 卷积层的通道数(层数)。 如下图是一个卷积核(kernel)为3×3、步长(stride)为1、填充(padding)为1的二维卷积: 二、卷积的计算过程 卷积的计算过程非常简单,当卷积核在输入图像上扫描时,将卷积核与输入图像中对应位置的数值逐个相乘,最后汇总求和,就得到该位置的卷积结果。不断移动卷积核,就可算出各个位置的卷积结果。如下图: 三、卷积的各种类型 卷积现在已衍生出了各种类型

【AI实战】快速掌握TensorFlow(三):激励函数

别等时光非礼了梦想. 提交于 2019-11-29 09:05:21
到现在我们已经了解了TensorFlow的特点和基本操作(见文章: 快速掌握TensorFlow(一) ),以及TensorFlow计算图、会话的操作(见文章: 快速掌握TensorFlow(二) ),接下来我们将继续学习掌握TensorFlow。 本文主要是 学习掌握TensorFlow的激励函数 。 1、什么是激励函数 激励函数是所有神经网络算法的必备神器,通过加入激励函数可实现张量计算的非线性化,从而提升神经网络模型的泛化能力。 直接构建神经网络的输入与输出是一个线性关系,如下图 通过在神经网络中加入非线性激励函数后,神经网络具有非线性处理的能力,能够实现对非线性数据的处理,如下图 通俗地讲,激励函数的作用就是将多个线性输入转换为非线性的关系。如果不使用激励函数,神经网络的每层都只是做线性变换,即使是多层输入叠加后也还是线性变换。通过使用激励函数引入非线性因素后,使神经网络的表示能力更强了。 常用的激励函数主要有:ReLU、ReLU6、sigmoid、tanh、softsign、ELU等。 如果想要更加详细地了解激励函数,请见文章:深度学习中常用的激励函数 2、怎样使用激励函数 在TensorFlow中使用激励函数非常方便,激励函数位于神经网络库中(tensorflow.nn),下面介绍使用方法。 (0)创建一个会话,调用默认计算图 import tensorflow as

ApacheCN×Tesra 免费算力申请活动

随声附和 提交于 2019-11-29 07:45:22
Tesra 超算网络是由 SAIC 基金会发起的,专为人工智能产业提供底层技术及 AI 资源共享服务的分布式"超算中心"。Tesra 超算网络基于 GPU 并行计算技术,通过整合全球分散的 GPU 算力资源,在建设人工智能基础设施的同时,为全球 AI 开发者提供共享算力、分布式数据存储、AI 应用开发平台等生态服务。未来,Tesra 超算网络将链接全球 AI 开发者社区,共同构建人工智能超级大脑。 本次提供的兔费体验服务包括: N*72 小时无限量免费 GPU 算力服务体验 支持自主模型、多文档、多模型、多框架(tensorflow、Keras、Pytorch、Mxnnet) 提供超大空间储存,可视化开发工具 无需搭建环境,无需修改 API 接口,可直接使用,方便易上手 分布式运算集群,运算速度比其他平台更快,运算效率更高 银行及数据安全与隐私防护 负责人 一极:2533524298 领取方式 在官网 tesra.org 注册。 在这里登记用户 ID 。 等待我们发放算力激活码。领取到的算力 72 小时无限使用,用完后请重新申请使用。 来源: https://my.oschina.net/wizardforcel/blog/3103151

有效学习Tensorflow的方法论

旧巷老猫 提交于 2019-11-29 05:11:23
学习一门新技术,一定要有技巧,找到学习的捷径就能事半功倍。现如今人工智能产业发展迅猛,作为一名程序员来说,不懂点深度学习的知识很容易被时代抛弃。 那么应该学习什么技术呢?笔者以为当今世上有两大深度学习框架值得研究,一个是大名鼎鼎的Tensorflow,它是谷歌公司出品的开源框架;另一个是Facebook主导开发的Pytorch框架。这两个框架都是什么优秀的深度学习框架,总的来说Tensorflow的流行程度更广一些。 深度学习要想学的深,除了懂软件,还得懂一些算法知识。当然笔者从没想过去专研的那么深,那是博士们该做的事。那么对于想跳槽到人工智能领域拿高薪的程序员来说,学习干货快速掌握Tensorflow的开发,并能娴熟自如的应用到工作中去,才是当前最迫切需要做的事啊! 笔者整理了学习Tensorflow的一些关键点,只要按照这个步骤踏踏实实的去学习,以笔者的经验一两个月的时间足够成长为一名优秀的Tensorflow工程师了。 以下是整理出来的Tensorflow学习19篇。 (1)tensorflow的环境安装 (2)tensorflow基本操作实战。 (3)tensorflow线性回归模型及原理讲解 (4)损失函数和梯度的概念 (5)全连接层、激活函数和Dropout (6)图像的基本知识和操作 (7)卷积和池化的原理 (8)图像卷积模型CNN的实战讲解 (9)词向量操作实战讲解

tensorflow框架学习 两个简单的神经网络示例,回归与分类

牧云@^-^@ 提交于 2019-11-29 04:36:05
一、回归神经网络 1、神经网络结构 定义一个简单的回归神经网络结构: 数据集为(xi,yi),数据的特征数为1,所以x的维度为1。 输入层1个神经元。 隐藏层数为1,4个神经元。 输出层1个神经元。 隐藏层的激活函数为f(x)=x,输出层的激活函数为ReLU 结构图如下: 2、代码示例 相关函数说明: tf.random_normal :用于生成正太分布随机数矩阵的tensor,tensorFlow有很多随机数函数,可以查找官方文档获得。 tf.zeros :用于生成0矩阵的tensor,tf.ones可以用来获得单位矩阵。 tf.nn.relu :tensorflow定义的用来实现ReLU激活函数的方法。 tf.reduce_sum :求和函数,通过axis来控制在哪个方向上求和,axis=[0]表示按行求和,axis=[1]表示按列求和。 tf.train.GradientDescentOptimizer(learning_rate).minimize(loss) :梯度下降优化函数,learning_rate表示学习率,minimize表示最小化,loss是优化的损失函数。tensorFlow有很多优化函数,可以查找官方文档获得。 代码: import tensorflow as tf import numpy as np import matplotlib.pyplot

tensorflow中的“tf.name_scope()”有什么用?

扶醉桌前 提交于 2019-11-29 03:32:09
1. tf.name_scope()命名空间的实际作用 (1)在某个tf.name_scope()指定的区域中定义的所有对象及各种操作,他们的“name”属性上会增加该命名区的区域名,用以区别对象属于哪个区域; (2)将不同的对象及操作放在由tf.name_scope()指定的区域中,便于在tensorboard中展示清晰的逻辑关系图,这点在复杂关系图中特别重要。 见下例: import tensorflow as tf; tf.reset_default_graph() # 无tf.name_scope() a = tf.constant(1,name='my_a') #定义常量 b = tf.Variable(2,name='my_b') #定义变量 c = tf.add(a,b,name='my_add') #二者相加(操作) print("a.name = "+a.name) print("b.name = "+b.name) print("c.name = "+c.name) # 有tf.name_scope() # with tf.name_scope('cgx_name_scope'): #定义一块名为cgx_name_scope的区域,并在其中工作 # a = tf.constant(1,name='my_a') # b = tf.Variable(2,name=

如何开始我的第一个人工智能模型(tensorflow)

夙愿已清 提交于 2019-11-29 02:40:43
安装tensorflow 大家都知道 tensorflow 是 google 开发的一款开源的深度学习编程框架,是当今最流行的深度学习开发框架,因此对有志于深度学习研究的小伙伴来说, tensorflow 是当仁不让的第一选择。 首先看看 tensorflow 的安装,其实非常简单,在 python 环境安装好的前提下,直接运行: pip install tensorflow 就可以了。 笔者用的是 python3.5 环境, tensorflow 是 1.4 版本。 【问题 1 】如何加快 pip 安装速率 在默认 pip 安装的时候,国内的网络下经常会报超时,这时有个很好的解决办法就是将 pip 的目标库改到国内的网址,怎么改呢?只要设置 pip.ini 文件就可以了,笔者的 pip.ini 文件内容是这样的: [global] timeout = 60000 index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install] use-mirrors = true mirrors = https://pypi.tuna.tsinghua.edu.cn 这是连到清华的网站上了,然后将 pip.ini 放到 C:\ 用户 \ 当前账号 \pip\ 目录下就可以了。下面用 pip install tensorflow

【AI实战】快速掌握TensorFlow(二):计算图、会话

六眼飞鱼酱① 提交于 2019-11-28 15:26:47
在前面的文章中,我们已经完成了AI基础环境的搭建(见文章: Ubuntu + Anaconda + TensorFlow + GPU + PyCharm搭建AI基础环境 ),以及初步了解了TensorFlow的特点和基本操作(见文章: 快速掌握TensorFlow(一) ),接下来将继续学习掌握TensorFlow。 本文主要是 学习掌握TensorFlow的计算图、会话操作。 计算图是TensorFlow的核心概念,使用图(Graph)来表示计算任务,由节点和边组成。TensorFlow由前端负责构建计算图,后端负责执行计算图。 为了执行图的计算,图必须在会话(Session)里面启动,会话将图的操作分发到CPU、GPU等设备上执行。 下面将介绍如何在TensorFlow里面创建会话、图以及基本操作。 1、图(Graph) TensorFlow Python库已经有一个默认图 (default graph),如果没有创建新的计算图,则默认情况下是在这个default graph里面创建节点和边。 在图里面添加节点非常方便。例如现在要创建这样的计算图,两个张量相加,如下图: 代码如下: import tensorflow as tf a=tf.constant([1.0,2.0], name='a') b=tf.constant([3.0,4.0], name='b')

WIN10+RTX2070 tensorflow-gpu环境搭建

☆樱花仙子☆ 提交于 2019-11-27 10:17:07
参考 tensorflow-windows-wheel 我选择了:1.12.0\py37\GPU\cuda100cudnn73sse2 前置环境 Visual Studio 2017 Anaconda3 这两个我都安装的最新版。 Visual Studio 2017不装会导致安装CUDA时"Visual Studio Integration"组件安装失败,我在此处卡了几天,查了好多资料都无效。 GPU相关软件下载 Nvidai驱动 CUDA10.0: cuda-tookit下载 , 选择CUDA Toolkit 10.0 cuDNN: cuDNN下载 , 选择Download cuDNN v7.3.1 (Sept 28, 2018), for CUDA 10.0 tensorflow安装包: tensorflow-windows-wheel 安装 显卡驱动安装 安装CUDA 安装好之后的环境变量默认包含: CUDA_PATH:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 CUDA_PATH_V10_0:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 PATH: C:\Program Files\NVIDIA GPU Computing Toolkit