深度学习框架

深度学习框架Tensorflow

落花浮王杯 提交于 2020-03-11 07:47:41
Tensorflow安装环境检查 1.查看支持GPU 2.安装cuda 3.安装CuDNN-----下载需要注册账号 Tensorflow安装命令 &nbsp Tensorflow分为CPU与GPU两个版本,可以使用如下命令安装Tensorflow(jupyter中的安装) &nbsp !pip install tensorflow(CPU版本) &nbsp !pip install tensorflow-gpu(GPU版本) &nbsp 安装之后,在程序中就可以通过import导入使用,按照管理,我们重命名为tf。 &nbsp import tensorflow as tf 可以通过如下的方式查看tenforflow的版本: &nbsp tf.__version__ &nbsp 注意:目前tensorflow不支持Python3.7。 基于图的计算方式 &nbsp Tensorflow是通过数据流图完成计算的。Tensorflow的名称就是Tensor + flow。 &nbsp Tensor就是张量,张量是深度学习中表示数据的标准方式。简单的说,张量就是多维数组。 &nbsp flow就是数据的流动,是张量从一端流动到另外一端的过程。 &nbsp 图是由节点与边连接构成,在Tensorflow中,节点表示操作,边表示张量对象(张量的流动)。 &nbsp 其具体的操作:构建图--

利用 Conda 安装深度学习框架 Pytorch

人盡茶涼 提交于 2020-02-26 17:08:35
1. 前言 Pytorch 目前是炙手可热的深度学习框架。和 TensorFlow 比较起来学习曲线更加平滑,不用写大量的样板代码就可以对网络进行训练和使用。在最新版本的 Pytorch 中开始支持 Java 。但是安装 Pytorch 并不是很容易的事。今天就来说一下如何利用 Conda 安装 Pytorch 。 2. Conda 这里简单提一下 Conda , Conda 是一个开源的、跨平台的软件包管理系统和环境管理系统,用于安装多个 Python 版本的软件包及其依赖关系,并在它们之间轻松切换。你可以把 Conda 看作 Python 领域的 Maven ,当然有些功能可能比 Maven 更加强大。通常我会安装 anaconda 来集成 Conda 和 Python 环境, anacoda 额外还有 numpy 、pandas 等有用的科学计算包。如果你有洁癖也可以使用 MiniConda ,它只包含 Conda 和 Python 。如果你还不会 Conda 建议你花十分钟快速入门一下。 3. 在线安装Pytorch 以 Mac 为例, Conda 安装最新版 Pytorch 的命令如下: conda install pytorch torchvision -c pytorch 根据该命令的提示很容易就能安装好 Pytorch 。如果安装失败

实战Google深度学习框架-C3-TensorFlow入门

試著忘記壹切 提交于 2020-02-12 12:55:35
第三章:TensorFlow入门 TensorFlow存在计算模型,数据模型和运算 模型(本文用TF代表TensorFlow) 3.1 计算模型-计算图   3.1.1 计算图的概念    TensorFlow这个词Tensor表示张量,可以简单的理解为多维数组,Flow直观的表达了张量之间通过计算相互转化的过程。    如上图,TensorFlow中每个节点都是一个计算,而边代表了计算之间的依赖关系。a,b这两个常量不依赖任何其他计算,而add则依赖于两个常量的取值。所有TensorFlow的程序都可以用类似的计算图的形式来表示。   3.1.2计算图的使用    TF使用默认的计算图,也可通过 tf.Graph 函数生成新的计算图,不同计算图上的张量和运算都不会共享。 ''' 产生两个计算图,每个图都定义了一个名字为'v'的变量,分别初始化为0和1 可见计算图可以用来隔离张量和计算,使用tf.Graph.device可以指定运行计算的设备 g = tf.Graph() with g.device('/gpu:0'): result = a + b 将加法计算跑在GPU上 ''' import tensorflow as tf g1 = tf.Graph()#生成新的计算图 #如果需要定义多个Graph,则需要在with语句中调用as_default(

主流深度学习框架对比(TensorFlow、Keras、MXNet、PyTorch)

隐身守侯 提交于 2020-02-08 03:19:39
近几年来,深度学习的研究和应用的热潮持续高涨,各种开源深度学习框架层出不穷,包括TensorFlow,Keras,MXNet,PyTorch,CNTK,Theano,Caffe,DeepLearning4,Lasagne,Neon,等等。Google,Microsoft等商业巨头都加入了这场深度学习框架大战,当下最主流的框架当属TensorFlow,Keras,MXNet,PyTorch,接下来我对这四种主流的深度学习框架从几个不同的方面进行简单的对比。 一、 简介 TensorFlow: TensorFlow是Google Brain基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理,于2015年11月9日在Apache 2.0开源许可证下发布,并于2017年12月份预发布动态图机制Eager Execution。 Keras: Keras是一个用Python编写的开源神经网络库,它能够在TensorFlow,CNTK,Theano或MXNet上运行。旨在实现深度神经网络的快速实验,它专注于用户友好,模块化和可扩展性。其主要作者和维护者是Google工程师FrançoisChollet。 MXNet: MXNet是DMLC(Distributed Machine Learning Community)开发的一款开源的、轻量级、可移植的

基于百度飞浆深度学习框架的各个优化算法比较(手写数字识别)

余生颓废 提交于 2020-01-10 21:51:14
# 加载相关库 import os import random import paddle import paddle.fluid as fluid from paddle.fluid.dygraph.nn import Conv2D, Pool2D, FC import numpy as np from PIL import Image import gzip import json 一、数据处理 # 声明数据集文件位置 datafile = './work/mnist.json.gz' print('loading mnist dataset from {} ......'.format(datafile)) # 加载json数据文件 data = json.load(gzip.open(datafile)) print('mnist dataset load done') # 读取到的数据区分训练集,验证集,测试集 train_set, val_set, eval_set = data # 数据集相关参数,图片高度IMG_ROWS, 图片宽度IMG_COLS IMG_ROWS = 28 IMG_COLS = 28 # 打印数据信息 imgs, label = train_set[0], train_set[1] print("训练数据集数量: ", len(imgs)) #

深度学习 Python TensorFlow框架下用Keras搭建神经网络(学习笔记)

吃可爱长大的小学妹 提交于 2019-12-25 12:06:24
from keras . models import Sequential from keras . layers import * from keras . utils import np_utils import numpy as np from keras . datasets import mnist #加载mnist数据集 ( x_train , y_train ) , ( x_test , y_test ) = mnist . load_data ( ) #数据预处理,转换为Keras使用的格式 num_pixels = x_train . shape [ 1 ] * x_train . shape [ 2 ] n_channels = 1 #图像通道数 def preprocess ( matrix ) : return matrix . reshape ( matrix . shape [ 0 ] , n_channels , matrix . shape [ 1 ] , matrix . shape [ 2 ] ) . astype ( 'float32' ) / 255 x_train , x_test = preprocess ( x_train ) , preprocess ( x_test ) #对输出结果进行处理 #np_utils.to

贾扬清牛人(zz)

爷,独闯天下 提交于 2019-12-03 01:44:25
贾扬清加入阿里巴巴后,能否诞生出他的第三个世界级杰作? 文 / 华商韬略 张凌云 本文转载,著作权归原作者所有 贾扬清加入阿里巴巴后,能否诞生出他的第三个世界级杰作? 2017年1月11日,美国硅谷的人工智能先锋大会上,贾扬清结束演讲下台,便被簇拥而来的媒体记者包围了。 时任Facebook AI架构总监的他,已是业界公认的AI大神,面庞还青涩得像个20岁的大男孩。 当被问到是否考虑回国工作时,他笑称,“这是一个很trick(狡猾)的问题。” 直到两年后,贾扬清才给出了确切答案。 3月18日,阿里巴巴达摩院宣布,贾扬清已正式加入阿里巴巴,担任技术副总裁岗位。 1 贾扬清是一个什么样的人物? 在大神如云的美国硅谷,这位中国青年创造出了世界级的成绩—— AI深度学习领域两大著名框架Caffe和TensorFlow的核心作者都是他。 先简单解释一下这两大框架的厉害之处。 Caffe是史上第一个通用深度学习框架,也是目前全球最普遍使用的深度学习框架之一,微软、雅虎、英伟达、Adobe 等公司都在用。有人如此形容其地位:在深度学习领域,Caffe框架是无法绕过的一座山。 TensorFlow你可能也不熟悉,但你一定知道以围棋一战成名的谷歌AlphaGo(阿法狗),TensorFlow便是阿法狗背后的强大支撑,被称为“谷歌大脑”。 随便一个就足以封神,更何况两个! 换句话说,学物理绕不开牛顿

深度学习框架Keras安装

匿名 (未验证) 提交于 2019-12-03 00:43:02
本文主要参考: https://blog.csdn.net/qingzhuochenfu/article/details/51187603 前提:Keras是Python语言中基于原始深度学习框架Tensorflow或Theano的封装框架。如果准备使用Keras首先必须准备安装Tensorflow或Theano,我安装的是TensorFlow CPU版本。 安装后可测试一下是否安装成功,在命令行中输入python,再输入如下代码: >>> import keras 其他博文: Keras安装和配置指南(Windows) 原文:https://www.cnblogs.com/Tang-tangt/p/9348035.html

深度学习框架Tensorflow学习--RNN实现识别数字

匿名 (未验证) 提交于 2019-12-03 00:22:01
本文用到的公式基本来自Alex的论文, δ L 可以看到输出层和普通的NN是完全一样的,接收隐藏层传入的数据并乘以参数求和,只是每一个计算出来的值都有个时间上标t,表示它是t时刻的那个节点。 而隐藏层的计算就是和NN不同的地方,从之前的拓扑图也看到了,隐藏层会接受来自上一时间隐藏层传入的数据,在公式里也体现出来了:第一个求和是和NN一致的,接收来自输入层的数据,第二个是接收来自上一隐藏层的数据。 参考链接: https://blog.csdn.net/Dark_Scope/article/details/47056361 LSTM(Long-Short Term Memory) 原生的RNN会遇到一个很大的问题,叫做 The vanishing gradient problem for RNNs,也就是后面时间的节点对于前面时间的节点感知力下降,也就是忘事儿,这也是NN在很长一段时间内不得志的原因,网络一深就没法训练了,深度学习那一套东西暂且不表,RNN解决这个问题用到的就叫LSTM,简单来说就是你不是忘事儿吗?我给你拿个小本子把事记上,好记性不如烂笔头嘛,所以LSTM引入一个核心元素就是Cell。 怎么这么复杂……不要怕,下文慢慢帮你缕清楚。理解LSTM最方便的就是结合上面这个图,先简单介绍下里面有几个东西: Cell,就是我们的小本子,有个叫做state的参数东西来记事儿的

深度学习框架太抽象?其实不外乎这五大核心组件

谁都会走 提交于 2019-12-02 10:41:16
许多初学者觉得深度学习框架抽象,虽然调用了几个函数/方法,计算了几个数学难题,但始终不能理解这些框架的全貌。 为了更好地认识深度学习框架,也为了给一些想要自己亲手搭建深度学习框架的朋友提供一些基础性的指导,日前来自苏黎世联邦理工学院计算机科学系的硕士研究生Gokula Krishnan Santhanam在博客上撰文,概括了大部分深度学习框架都会包含的五大核心组件,为我们详细剖析了深度学习框架一般性的内部组织结构。以下由AI科技评论编译。 Gokula Krishnan Santhanam认为,大部分深度学习框架都包含以下五个核心组件: 1. 张量(Tensor) 2. 基于张量的各种操作 3. 计算图(Computation Graph) 4. 自动微分(Automatic Differentiation)工具 5. BLAS、cuBLAS、cuDNN等拓展包 1. 张量(Tensor) 张量是所有深度学习框架中最核心的组件,因为后续的所有运算和优化算法都是基于张量进行的。几何代数中定义的张量是基于向量和矩阵的推广,通俗一点理解的话,我们可以将标量视为零阶张量,矢量视为一阶张量,那么矩阵就是二阶张量。 举例来说,我们可以将任意一张RGB彩色图片表示成一个三阶张量(三个维度分别是图片的高度、宽度和色彩数据)。如下图所示是一张普通的水果图片,按照RGB三原色表示,其可以拆分为三张红色