用TensorFlow的应该都知道,git上的一个大神弗吉尼亚理工博士Amirsina Torfi在GitHub上贡献了一个新的教程,星星数当天就破千,现在已经4721了,估计这个文章写完又得涨点。
完整代码链接(1积分):https://download.csdn.net/download/qq_32166779/10737966
现在针对博士给的代码进行简答的分析一下,下载后共有6个文件夹。
第一个文件(1_Introduction)就三个python文件:
首先是basic_eager_api.py文件,我觉得,这篇主要就是想告诉大家善用eager模块而已。当写下语句"c = a + b"后(以及其他任何tf开头的函数),就会直接执行相应的操作并得到值,而不再像之前那样,生成一个Tensor,通过sess.run()才能拿到值。注意:这种Eager模式一旦被开启就不能被关闭。
from __future__ import absolute_import, division, print_function
import numpy as np
import tensorflow as tf
import tensorflow.contrib.eager as tfe
# Set Eager API
print("Setting Eager mode...")
tfe.enable_eager_execution()
# Define constant tensors
print("Define constant tensors")
a = tf.constant(2)
print("a = %i" % a)
b = tf.constant(3)
print("b = %i" % b)
# Run the operation without the need for tf.Session
print("Running operations, without tf.Session")
c = a + b
print("a + b = %i" % c)
d = a * b
print("a * b = %i" % d)
# Full compatibility with Numpy
print("Mixing operations with Tensors and Numpy Arrays")
# Define constant tensors
a = tf.constant([[2., 1.],
[1., 0.]], dtype=tf.float32)
print("Tensor:\n a = %s" % a)
b = np.array([[3., 0.],
[5., 1.]], dtype=np.float32)
print("NumpyArray:\n b = %s" % b)
# Run the operation without the need for tf.Session
print("Running operations, without tf.Session")
c = a + b
print("a + b = %s"
第二个文件basic_operations.py
主要是常量和变量区别:
常量:
a = tf.constant(2)
b = tf.constant(3)
sess.run(a+b)
变量:
a = tf.placeholder(tf.int16)
b = tf.placeholder(tf.int16)
add = tf.add(a, b)
sess.run(add, feed_dict={a: 2, b: 3})
from __future__ import print_function
import tensorflow as tf
# Basic constant operations
# The value returned by the constructor represents the output
# of the Constant op.
a = tf.constant(2)
b = tf.constant(3)
# Launch the default graph.
with tf.Session() as sess:
print("a=2, b=3")
print("Addition with constants: %i" % sess.run(a+b))
print("Multiplication with constants: %i" % sess.run(a*b))
# Basic Operations with variable as graph input
# The value returned by the constructor represents the output
# of the Variable op. (define as input when running session)
# tf Graph input
a = tf.placeholder(tf.int16)
b = tf.placeholder(tf.int16)
# Define some operations
add = tf.add(a, b)
mul = tf.multiply(a, b)
# Launch the default graph.
with tf.Session() as sess:
# Run every operation with variable input
print("Addition with variables: %i" % sess.run(add, feed_dict={a: 2, b: 3}))
print("Multiplication with variables: %i" % sess.run(mul, feed_dict={a: 2, b:
第三个文件helloworld.py
简单的一逼,,,,,
from __future__ import print_function
import tensorflow as tf
# Simple hello world using TensorFlow
# Create a Constant op
# The op is added as a node to the default graph.
#
# The value returned by the constructor represents the output
# of the Constant op.
hello = tf.constant('Hello, TensorFlow!')
# Start tf session
sess = tf.Session()
# Run the op
print(sess.run(hello))