只利用numpy编写神经网络是多么麻烦。编写一个简单的一层前馈网络的代码尚且需要40多行代码,当增加层数的时候,编写代码将更加困难,执行时间也会更长。
tensorflow使这一切变得简单,缩短了想法到部署的时间。本教程中,使用tensorflow实现深度学习神经网络。
开源学习库tensorflow允许将深度神经网络的计算部署到任意数量的CPU和GPU的服务器上,且只利用一个API。
包括tensorflow在内的大多数深度学习库能够自动求导,开源,支持多种CPU、GPU,拥有预测模型,并支持常用的NN架构,如递归神经网络RNN,卷积神经网络CNN和深度置信网络DBN
下载与安装
网上教程很多,我没有建立虚拟环境,直接在公共环境中安装tensorflow,方便pycharm import
第一个tensorflow程序
import tensorflow as tf
def tensorflow_demo():
"""
Tensorflow的基本结构
:return:
"""
#原生python
a = 2
b = 3
c = a + b
print("普通加法运算的结果:\n",c)
# tensorflow 加法运算
a_t = tf.constant(2)
b_t = tf.constant(3)
c_t = a_t + b_t
print("Tensorflow加法运算的结果",c_t)
return None
if __name__ =="__main__":
# 代码1: Tensor的基本基础结构
tensorflow_demo()
结果并不是一个具体的值
我们需要开启一个会话
tensorflow结构分析
tensorflow由两个阶段构成的。
一个叫构建图一个叫执行图
在构建阶段,数据和操作的执行步骤被描述成一个图。
在执行阶段,使用会话执行构建好的图中的操作。
图:这是tf将计算表示为指令之间的依赖关系的一种表示
会话:tf跨一个或者多个本地或远程设备运行数据流图的机制
张量:tf中基本数据对象
节点:提供图当中执行的操作