[CS20SI] 1 - Introduction to TensorFlow

0. Tensorflow libraries

  1. TF Learn (tf.conrtib.learn): simplified interface that transits tf to scikit-learn
  2. TF Slim (tf.contrib.slim): lightweight library for defining, training and evaluating complex models
  3. High level API: Keras, TFLearn

1. Graph and session

TF将模型定义过程和计算过程分开了

所以使用过程可以分为如下两步

1. 整合Graph(模型定义)

2. 使用session执行Graph中的操作

1.1 Tensor是什么

n维矩阵(n-d matrix)

0-d : number

1-d : vector

2-d : matrix

1.2 Graph

import tensorflow as tf
a=tf.add(3,5)

这段代码会构建一个如下的Graph,graph即对应了计算过程。但是不会执行计算3+5。

在计算图中,

节点是 operators, variables, and constants

边代表 tennsors

1.3 Session

必须实例化一个Session,才能让graph执行计算。

Session负责读取数据送入到graph。

import tensorflow as tf
a = tf.add(3, 5)
sess = tf.Session()
print(sess.run(a))
sess.close()
//or 
with tf.Session() as sess:
	print(sess.run(a))

Session只会计算graph中,指定的计算节点需要的部分。

解释如下,在下图的graph中,Session只会执行红色部分。在Session.run()语句执行之前graph已经建好。

sess.run([pow_op, useless]) 会执行全部graph

1.4 Subgraphs

使用多个GPU的实例代码如下

# To put part of a graph on a specific CPU or GPU:
# Creates a graph.

with tf.device('/gpu:2'):
  a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], name='a')
  b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], name='b')
  c = tf.multiply(a, b)

# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

# Runs the op.
print(sess.run(c))

1.5 MultiGraph

假设同一个任务有多个模型graph需要同时训练。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值