Tensorflow环境搭建&基本概念
来源:互联网 发布:越穷越爱国 知乎 编辑:程序博客网 时间:2024/05/20 06:22
前言
本文只是tensorflow的简单介绍。
安装
很简单直接
pip install tensorflow
就可以了。
如果喜欢用Pycharm ,可以直接按照下包的流程把它下载下来即可。
验证安装:hello world程序
import tensorflow as tfhello=tf.constant("hello ,world") sess=tf.Session()print(sess.run(hello))sess.close()
工作方式
tensorflow 的名字已经说明了它最重要的两个概念——Tensor和Flow。
Tensor(张量)
在tensorflow中所有的数据都是通过张量进行表示的,在这里可以把张量理解为一个数据结构。
它既可以表示常量也可以表示为变量和多维度矩阵。
在Tensorflow中 一个数 就是一个0阶张量,也称做标量(scalar)
那么一个向量(一维数组)就是一个1阶张量。
那么N维数组就是N阶张量.
既然它是一个数据结构的话那就有自己的属性。张量有三个属性。名字(name),维度(shape)和类型(type)
import tensorflow as tfa=tf.constant(1,name="a")b=tf.constant([1,2],name="b")c=tf.constant([[1],[2]],name="c")print aprint bprint c
结果是:
Tensor(“a_1:0”, shape=(), dtype=int32)
Tensor(“b_2:0”, shape=(2,), dtype=int32)
Tensor(“c:0”, shape=(2, 1), dtype=int32)
shape=() 就说明它是个标量。
shape=(2,)说明它是个一维数组长度为2
shape=(2,1)说明它是一个二维数组
tensor显示指定数据的类型其实就是在数据计算的时候做类型检查。
Tensorflow 支持14种不同的类型,主要包括了小数(tf.float32,tf.float64)整数(tf.int8、tf.int16、tf.int32、tf.int64、tf.uint8)、布尔类型(tf.bool)、复数(tf.complex64、tf.complex128)
Flow(流)
我们把所有的数据理解成一个节点,然而每个数据的计算无非就是这个节点到另外一个节点的流向过程。例如
执行c=a+b
我们可以理解为a和b的数据经过add这个操作流向了C。flow也就很形象的去解释了这个概念。
计算图
结合上面的 张量和流的概念,我们甚至可以把上面的c=a+b理解为一个节点组成的图。
没错,这就是Tensorflow中非常重要的一个概念计算图。上面的是最小的图。经过我们设计变化,图会变得很大。但是无非也就是输入流向计算过程流向输出仅此而已。
计算图的使用
根据上述概念可以知道我们的tensorflow就是一个一个的tensor。一条一条的flow以及一个个的op 组成的图。所以我们使用tensorflow需要两步。
设计图
用实际的例子来看,就是之前的c=a+b
我们需要首先设计图。
#定义常量opa=tf.constant(2)b=tf.constant(3)#定义一个op操作add=tf.add(a,b)#定义一个占位变量(因为c不知道等于多少)c=tf.placeholder(tf.int16)
ok这就是我们画出的那张图的各个节点和操作。
启动图(会话)
会话也叫session
在tensorflow中session可以管理运行时候所有的资源。也就是相当于前面都是初始化、必须在会话里面进行运行。代码很简单。
#定义一个会话sess=tf.Session()c=sess.run(add)print csess.close()
输出是5.
如果这样写。最后一个必须显式的关闭这个会话,然而当程序一场推出的时候,关闭会话的那条命令可能不会执行从而导致资源泄漏。我们可以使用python的上下文管理器使用会话。
with tf.Session() as sess: c=sess.run(add) print c
代码
# -*- coding: utf-8 -*-# @Time : 2017/12/4 下午3:35# @Author : SkullFang# @Email : yzhang.private@gmail.com# @File : demo1.py# @Software: PyCharmimport tensorflow as tf#定义常量opa=tf.constant(2)b=tf.constant(3)#定义一个op操作add=tf.add(a,b)#定义一个占位变量(因为c不知道等于多少)c=tf.placeholder(tf.int16)# #定义一个会话with tf.Session() as sess: c=sess.run(add) print c
- Tensorflow环境搭建&基本概念
- Tensorflow实验环境搭建
- TensorFlow 实验环境搭建
- TensorFlow实验环境搭建
- Tensorflow环境搭建
- TensorFlow环境搭建
- 搭建 Tensorflow 开发环境
- <一>、TensorFlow环境搭建
- TensorFlow环境搭建
- tensorflow 环境搭建
- 搭建TensorFlow环境
- win10+tensorflow环境搭建
- Windows Tensorflow 环境搭建
- Kafka基本概念及环境搭建
- tensorflow 环境搭建(linux,centos)
- Tensorflow环境搭建(Windows10)
- TensorFlow(GPU支持)环境搭建
- Mac OS搭建Tensorflow环境
- 报org.hibernate.MappingException: Unknown entity:
- Spring framework(2):资源访问&资源加载
- mock记录
- 剑指offer-旋转数组
- 【android逆向笔记】(五)android软件安全与逆向第一个实例
- Tensorflow环境搭建&基本概念
- 蓝桥杯-填充方格
- MATLAB中的长度函数
- Java之CountDownLatch使用
- angular实战(1)
- 马云乌镇对话全记录:未来属于创造力、想象力
- Markdown使用方法
- Ubuntu下搭建hadoop集群
- Mac 按键标识