教你如何使用TensorFlow框架

一、简介

​ TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。

​ Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端的计算过程。

​ TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统

TensorFlow可被用于语音识别图像识别等多项机器学习和深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。

​ TensorFlow是开源的,任何人都可以用。

​ 网站:http://playground.tensorflow.org

​ 支持CNN(卷积神经网络)、RNN(循环神经网络)和LSTM(长短期记忆网络)算法,是目前在 Image,NLP 最流行的深度神经网络模型.

二、优点

TensorFlow优点:

  • 基于Python,写的很快并且具有可读性。
  • 在CPU或GPU系统上的都可运行。
  • 代码编译效率较高。
  • 社区发展的非常迅速并且活跃。
  • 能够生成显示网络拓扑结构和性能的可视化图。

三、原理

TensorFlow原理:
TensorFlow是用数据流图(data flow graphs)技术来进行数值计算的。
数据流图是描述有向图中的数值计算过程。
有向图中,节点通常代表数学运算,边表示节点之间的某种联系,它负责传输多维数据(Tensors)。
这里写图片描述

四、使用

###1、TensorFlow使用

​ 使用图(graph)来表示任务
在被称之为会话(Session)的上下文(context)中执行图
使用tensor表示数据
通过变量(Variable)维护状态f(x) = w*x + b
使用feed和fetch可以为任意操作(arbitrary operation)赋值或者从其中获取数据。

2、下载

在管理员模式下cmd窗口中执行:

pip install tensorflow

3、第一个tf程序

导包
# 导包
import tensorflow as tf
import numpy as np
from IPython.display import display
定义常量
# 定义常量
a = tf.constant(np.random.randint(0,100,size=(3,4)))
b = tf.constant(3.14)
s = tf.constant('hello world')
display(a,b,s)
# tensor张量-------> 数据,类比ndarray

这里写图片描述

定义变量
w = tf.Variable(np.random.randint(0,100,size=(2,3)),
               dtype=tf.int8,  #数据类型
               name='w'  #变量命名,可省略
               )
w

这里写图片描述

创建会话
sess = tf.Session()
关闭会话
sess.close()
使用会话运行graph

一般使用with语句来创建会话,这样就不用手动关闭会话,with语句会自动关闭会话。

with tf.Session() as sess:
    ret = sess.run(fetches=[a,b,s])
    print(ret)

这里写图片描述

with tf.Session() as sess:
    # 如果要使用变量,需要进行初始化
    sess.run(tf.global_variables_initializer())
    print(sess.run(w))

这里写图片描述

4、加减乘除

#加减乘除
a = tf.constant(100,dtype=tf.float16)
b = tf.constant(5,dtype=tf.float16)
#加
c = a + b
d = tf.add(a,b)
#减
e = tf.subtract(a,b)
#乘
f = tf.multiply(a,b)
#除
h = tf.div(a,b)

with tf.Session() as sess:
    print(sess.run([a,b,c,d,e,f,h]))

这里写图片描述

矩阵乘法
a = tf.constant(np.random.randint(0,10,size = (2,3)))

b = tf.constant(np.random.randint(0,10,size = (3,2)))
#矩阵乘法
m = tf.matmul(a,b)
with tf.Session() as sess:
    print(sess.run([a,b]))
    print(sess.run(m))

这里写图片描述

降维加法
a = tf.constant(np.random.randint(0,10,size = (4,5)))
#axis=1,列相加
#比如第一个数26 = 8+5+4+8+1
b = tf.reduce_sum(a,axis = 1)

with tf.Session() as sess:
    print(sess.run(a))
    print('-----------------------------')
    print(sess.run(b))

这里写图片描述

a = tf.
  • 17
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值