tensorflow 获取变量&打印权值的实例讲解

以下是详细讲解“tensorflow获取变量&打印权值的实例讲解”的完整攻略,包含两条示例说明。

示例1:获取变量

在 TensorFlow 中,可以使用 tf.get_variable(name, shape, dtype) 函数获取一个变量。其中,name 表示变量名,shape 表示变量形状(可以是一个整数,一个长度为 n 的 list,或者一个 Tensor 对象),dtype 表示变量的类型。以下是示例代码:

import tensorflow as tf

with tf.variable_scope("example_scope"):
    x = tf.get_variable("x", shape=[1], initializer=tf.constant_initializer(1.0))
    y = tf.get_variable("y", shape=[1], initializer=tf.constant_initializer(2.0))

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(sess.run(x))
    print(sess.run(y))

在这个例子中,我们首先创建了一个 variable_scope,用来管理一些相关的变量。然后,我们使用tf.get_variable()函数分别创建了两个变量 x 和 y,它们的初始值分别为 1.0 和 2.0。最后,我们创建一个会话,并使用tf.global_variables_initializer()函数初始化所有变量。使用sess.run()函数和变量名作为参数,我们可以打印变量 x 和 y 的值,输出结果如下:

[1.]
[2.]

示例2:打印权值

在 TensorFlow 中,我们可以使用tf.trainable_variables()函数来获取所有可训练的变量,即所有的 weights 和 biases。以下是示例代码:

import tensorflow as tf

x = tf.placeholder(dtype=tf.float32, shape=[None, 1])
y = tf.placeholder(dtype=tf.float32, shape=[None, 1])

W = tf.Variable(tf.ones(shape=[1, 1]), name="W")
b = tf.Variable(tf.zeros(shape=[1]), name="b")

y_pred = tf.matmul(x, W) + b
loss = tf.reduce_mean(tf.square(y_pred - y))

train_op = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(loss)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())

    for i in range(100):
        _, loss_val, W_val, b_val = sess.run([train_op, loss, W, b], feed_dict={x: [[1], [2], [3], [4]], y: [[2], [4], [6], [8]]})
        print("loss: {}, W: {}, b: {}".format(loss_val, W_val, b_val))

    print("trainable variables: ")
    for var in tf.trainable_variables():
        print(var.name, var.shape)

在这个例子中,我们使用tf.placeholder(dtype, shape)函数来定义输入和输出的 placeholder。然后,我们定义了一个权重变量 W 和一个偏置变量 b,它们的初始值分别为 1 和 0。接着,我们计算预测值 y_pred,并定义损失函数 loss,使用梯度下降法训练模型并打印每次迭代的 loss,W 和 b 值。最后,我们使用tf.trainable_variables()函数打印所有可训练的变量,输出结果如下:

trainable variables: 
W:0 (1, 1)
b:0 (1,)

其中,“:0”表示该变量所在的设备和变量所在设备上的编号。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:tensorflow 获取变量&打印权值的实例讲解 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • Tensorflow学习教程——利用卷积神经网络对mnist数据集进行分类_利用训练好的模型进行分类

    #coding:utf-8 import tensorflow as tf from PIL import Image,ImageFilter from tensorflow.examples.tutorials.mnist import input_data def imageprepare(argv): # 该函数读一张图片,处理后返回一个数组,进到网络…

    卷积神经网络 2023年4月8日
    00
  • 彻底理解数字图像处理中的卷积-以Sobel算子为例

    作者:FreeBlues 修订记录 – 2016.08.04 初稿完成 概述 卷积在信号处理领域有极其广泛的应用, 也有严格的物理和数学定义. 本文只讨论卷积在数字图像处理中的应用. 在数字图像处理中, 有一种基本的处理方法:线性滤波. 待处理的平面数字图像可被看做一个大矩阵, 图像的每个像素对应着矩阵的每个元素, 假设我们平面的分辨率是 1024*768,…

    2023年4月8日
    00
  • TensorFlow卷积神经网络实现手写数字识别以及可视化

    边学习边笔记 https://www.cnblogs.com/felixwang2/p/9190602.html 1 # https://www.cnblogs.com/felixwang2/p/9190602.html 2 # TensorFlow(十):卷积神经网络实现手写数字识别以及可视化 3 4 import tensorflow as tf 5 f…

    卷积神经网络 2023年4月6日
    00
  • 知识图谱和图卷积(贪心学院)——学习笔记

    层级结构:每一层的训练结果依赖于上一层的。 图像二维数据,语音一维数据可以二维表示。可通过欧几里得空间数据进行表示。 然而也有无法表示的,例如微信数据里的人与人之间关系,图(无距离信息,空间信息)。因而出现了图卷积。              频域与时域两条线,GCN可以用于时域的处理。  二、图卷积基本框架:   5个点,形成5×5的邻接矩阵。形容两两之间…

    2023年4月6日
    00
  • [DL学习笔记]从人工神经网络到卷积神经网络_2_卷积神经网络

    先一层一层的说卷积神经网络是啥: 1:卷积层,特征提取 我们输入这样一幅图片(28*28): 如果用传统神经网络,下一层的每个神经元将连接到输入图片的每一个像素上去,但是在卷积神经网络中,我们只把输入图像的一部分连接到下一层的神经元上。 比如每个神经元连接对应的一个5*5的区域: 这个输入图像的区域被称为隐藏神经元的局部感受野(local receptive…

    2023年4月6日
    00
  • 人工智能学习路线分享

    下面是针对“人工智能学习路线分享”的完整攻略,包含两条示例说明。 1. 概述 人工智能(Artificial Intelligence,简称AI)是近年来备受瞩目的领域之一,其前景广阔,应用范围广泛。如果你想学习人工智能,但不知从何入手,那么本文将为你提供一条完整的学习路线,以帮助你快速学习人工智能并掌握相关技能。 2. 学习路线 2.1 基础知识 在学习人…

    卷积神经网络 2023年5月15日
    00
  • 卷积与反卷积以及步长stride

    1. 卷积与反卷积 如上图演示了卷积核反卷积的过程,定义输入矩阵为 2): 卷积的过程为:O 反卷积的过称为:O 的边缘进行延拓 padding) 2. 步长与重叠 卷积核移动的步长(stride)小于卷积核的边长(一般为正方行)时,变会出现卷积核与原始输入矩阵作用范围在区域上的重叠(overlap),卷积核移动的步长(stride)与卷积核的边长相一致时,…

    卷积神经网络 2023年4月8日
    00
  • 全卷积网络FCN详解

    http://www.cnblogs.com/gujianhan/p/6030639.html CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体? (图像语义分割) FCN(Fully Convolutional Networks)对图像进行像素级的分类,从而解决了语义级别的图像分割(semantic segmentation)问题。与经典的…

    2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部