A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

x=tf.constant([5.2])创建常量
y = tf.Variable([5])创建变量
y = y.assign([5])分配值

将 tf.Session() 作为会话:
    initialization = tf.global_variables_initializer()

    print y.eval()

三个整数相加:
import tensorflow as tf
# Create a graph.
g = tf.Graph()
# Establish our graph as the "default" graph.
with g.as_default():
  # Assemble a graph consisting of three operations.
  # (Creating a tensor is an operation.)
  x = tf.constant(8, name="x_const")
  y = tf.constant(5, name="y_const")
  sum = tf.add(x, y, name="x_y_sum")
  # Task 1: Define a third scalar integer constant z.
  z = tf.constant(4, name="z_const")
  # Task 2: Add z to `sum` to yield a new sum.
  new_sum = tf.add(sum, z, name="x_y_z_sum")
  # Now create a session.
  # The session will run the default graph.
  with tf.Session() as sess:
    # Task 3: Ensure the program yields the correct grand total.

    print new_sum.eval()

获得张量形状:
with tf.Graph().as_default():
  # A scalar (0-D tensor).
  scalar = tf.zeros([])
  # A vector with 3 elements.
  vector = tf.zeros([3])
  # A matrix with 2 rows and 3 columns.
  matrix = tf.zeros([2, 3])
  with tf.Session() as sess:
    print 'scalar has shape', scalar.get_shape(), 'and value:\n', scalar.eval()
    print 'vector has shape', vector.get_shape(), 'and value:\n', vector.eval()

    print 'matrix has shape', matrix.get_shape(), 'and value:\n', matrix.eval()

改变张量形状:
#  tf.reshape 方法改变张量的形状
with tf.Graph().as_default():
  # Create an 8x2 matrix (2-D tensor).
  matrix = tf.constant([[1,2], [3,4], [5,6], [7,8],
                        [9,10], [11,12], [13, 14], [15,16]], dtype=tf.int32)
  # Reshape the 8x2 matrix into a 2x8 matrix.
  reshaped_2x8_matrix = tf.reshape(matrix, [2,8])
  # Reshape the 8x2 matrix into a 4x4 matrix
  reshaped_4x4_matrix = tf.reshape(matrix, [4,4])
  with tf.Session() as sess:
    print "Original matrix (8x2):"
    print matrix.eval()
    print "Reshaped matrix (2x8):"
    print reshaped_2x8_matrix.eval()
    print "Reshaped matrix (4x4):"

    print reshaped_4x4_matrix.eval()

张量变形结果:
Original matrix (8x2):
[[ 1 2] [ 3 4] [ 5 6] [ 7 8] [ 9 10] [11 12] [13 14] [15 16]]
Reshaped matrix (2x8):
[[ 1 2 3 4 5 6 7 8] [ 9 10 11 12 13 14 15 16]]
Reshaped matrix (4x4):

[[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [13 14 15 16]]

改变张量维数:
#使用 tf.reshape 更改张量的维数(\'阶\')
with tf.Graph().as_default():
  # Create an 8x2 matrix (2-D tensor).
  matrix = tf.constant([[1,2], [3,4], [5,6], [7,8],
                        [9,10], [11,12], [13, 14], [15,16]], dtype=tf.int32)
  # Reshape the 8x2 matrix into a 3-D 2x2x4 tensor.
  reshaped_2x2x4_tensor = tf.reshape(matrix, [2,2,4])
  # Reshape the 8x2 matrix into a 1-D 16-element tensor.
  one_dimensional_vector = tf.reshape(matrix, [16])
  with tf.Session() as sess:
    print "Original matrix (8x2):"
    print matrix.eval()
    print "Reshaped 3-D tensor (2x2x4):"
    print reshaped_2x2x4_tensor.eval()
    print "1-D vector:"

    print one_dimensional_vector.eval()

改变维数结果
Original matrix (8x2):
[[ 1 2] [ 3 4] [ 5 6] [ 7 8] [ 9 10] [11 12] [13 14] [15 16]]
Reshaped 3-D tensor (2x2x4):
[[[ 1 2 3 4] [ 5 6 7 8]] [[ 9 10 11 12] [13 14 15 16]]]
1-D vector:
[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]

变量初始化
初始化不是自动进行的。
初始化后,变量的值保留在同一会话中(不过,当您启动新会话时,需要重新初始化它们)。

# 创建变量时,您可以明确设置一个初始值,也可以使用初始化程序(例如分布)
g = tf.Graph()
with g.as_default():
  # Create a variable with the initial value 3.
  v = tf.Variable([3])
  # Create a variable of shape [1], with a random initial value,
  # sampled from a normal distribution with mean 1 and standard deviation 0.35.
  w = tf.Variable(tf.random_normal([1], mean=1.0, stddev=0.35))

#要初始化变量,最简单的方式是调用 global_variables_initializer。请注意 Session.run() 的用法(与 eval() 的用法大致相同)。
with g.as_default():
  with tf.Session() as sess:
    initialization = tf.global_variables_initializer()
    sess.run(initialization)
    # Now, variables can be accessed normally, and have values assigned to them.
    print v.eval()

    print w.eval()

变量赋值:
更改变量的值,请使用 assign 指令。请注意,仅创建 assign 指令不会起到任何作用。和初始化一样,您必须运行赋值指令才能更新变量值。

with g.as_default():
  with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    # This should print the variable's initial value.
    print v.eval()
    assignment = tf.assign(v, [7])
    # The variable has not been changed yet!
    print v.eval()
    # Execute the assignment op.
    sess.run(assignment)
    # Now the variable is updated.
    print v.eval()

将三个10x1向量连起来形成一个10x3向量:
# We've got three separate 10x1 matrices. To produce a single
  # 10x3 matrix, we'll concatenate them along dimension 1.
  resulting_matrix = tf.concat(

      values=[dice1, dice2, dice_sum], axis=1)

1 个回复

倒序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马