zoukankan      html  css  js  c++  java
  • 2、介绍在TensorFlow当中使用不同的方式创建张量tensor

    import tensorflow as tf
    from tensorflow.python.framework import ops
    ops.reset_default_graph()

    #开始一个计算图,通过使用tf.Session()的方式来获得
    sess=tf.Session()

    #创建张量,TensorFlow当中内置了很多用来创建张量的不同方式
    my_tensor=tf.zeros([1,20])
    #通过在会话当中调用run函数估算我们的tensor
    print(sess.run(my_tensor))

    #创建变量
    my_var=tf.Variable(tf.zeros([1,20]))
    #注意,但是现在还不能直接使用sess.run()直接输出计算的张量,因为TensorFlow通过计算图进行操作,所以为了能够估算一个变量的数值,我们必须要执行一个变量初始化的操作,
    #接下来通过一个初始化操作,然后再执行tf.run()输出
    sess.run(my_var.initializer)
    sess.run(my_var)


    #接下来通过创建自定义形状的变量变量
    row_dim = 2
    col_dim = 3
    #声明自定义形状的变量
    zeros_var = tf.Variable(tf.zeros([row_dim, col_dim]))
    ones_var = tf.Variable(tf.ones([row_dim, col_dim]))
    #接着通过调用initializer和run方法实现估算变量的数值
    sess.run(zeros_var.initializer)
    sess.run(ones_var.initializer)
    print(sess.run(zeros_var))
    print(sess.run(ones_var))

    #基于其他的tensor的形状创建
    #如果创建的tensor的形状依赖于其他的tensor的形状,那么我们就可以使用TensorFlow内建的函数ones_like()或者zeros_like()来创建
    zeros_similar=tf.Variable(tf.zeros_like(zeros_var))
    ones_silimar=tf.Variable(tf.ones_like(ones_var))
    sess.run(zeros_similar.initializer)
    sess.run(ones_silimar.initializer)
    print(sess.run(zeros_similar))
    print(sess.run(ones_silimar))

    #通过填充一个常量来创建张量
    fill_var=tf.Variable(tf.fill([row_dim,col_dim],-1))
    sess.run(fill_var.initializer)
    print(sess.run(fill_var))

    #我们还可以通过使用数组或者列表常量创建变量
    #通过使用常量创建变量
    const_var = tf.Variable(tf.constant([8, 6, 7, 5, 3, 0, 9]))
    #也可以使用下面一种方式来进行变量的创建
    const_fill_var = tf.Variable(tf.constant(-1, shape=[row_dim, col_dim]))
    sess.run(const_var.initializer)
    sess.run(const_fill_var.initializer)
    print(sess.run(const_var))
    print(sess.run(const_fill_var))

    # 基于序列和范围创建张量
    # 在TensorFlow当中,我们也可以基于序列创建张量 TensorFlow当中的linspace和range和numpy类似于python和numpy当中的这个函数
    # TensorFlow当中的 linspace
    line_var = tf.Variable(tf.linspace(start=0.0,stop=1.0,num=3))  # 创建【0.0,0.5,1.0】包括最后一个值

    # TensorFlow当中的范围创建变量
    sequence_var=tf.Variable(tf.range(start=6,limit=15,delta=3))    # 创建范围函数[6,9,12]不包括最后一个值
    sess.run(line_var.initializer)
    sess.run(sequence_var.initializer)
    print(sess.run(line_var))
    print(sess.run(sequence_var))

    # 使用随机数在TensorFlow当中创建变量
    rnorm_var = tf.random_normal([row_dim, col_dim], mean=0.0, stddev=1.0)
    runif_var = tf.random_uniform([row_dim, col_dim], minval=0, maxval=4)
    print(sess.run(rnorm_var))
    print(sess.run(runif_var))

    # 在TensorBoard当中可视化创建的变量
    # 为了在TensorBoard当中可视化创建的变量,我们需要reset一下computational graph然后创建全局的初始化
    # 重设计算图
    ops.reset_default_graph()

    # 启动一个会话
    sess = tf.Session()

    # 创建变量
    my_var = tf.Variable(tf.zeros([1,20]))

    # 向TensorBoard当中添加总结
    merged = tf.summary.merge_all()

    # initialize graph write
    writer = tf.summary.FileWriter('/tmp/variable_logs', graph=sess.graph)

    # 初始化操作
    initialize_op = tf.global_variables_initializer()

    # 执行初始化操作
    sess.run(initialize_op)














  • 相关阅读:
    [转]给明年依然年轻的我们:欲望、外界、标签、天才、时间、人生目标、现实、后悔、和经历
    C#后台发送HTTP请求
    asp.net 用户控件
    P1414 又是毕业季II
    P2254 [NOI2005]瑰丽华尔兹
    P1081 开车旅行
    P1084 疫情控制
    P1852 [国家集训队]跳跳棋
    P1074 靶形数独
    平时二十三测
  • 原文地址:https://www.cnblogs.com/yangzsnews/p/8206725.html
Copyright © 2011-2022 走看看