何时应该使用TensorFlow变量,何时应该使用numpy或Python变量?

3
我是新手,正在尝试熟悉Tensorflow2.0库。我经常使用numpy,注意到numpy和tensorflow的变量是“兼容”的。但如果我在tensorflow中使用一个numpy变量或对象,是不是每次都需要将这个变量转换成张量?如果使用Tensorflow,我应该把所有东西都初始化为Tf变量,还是根据它将被numpy或tf使用来决定?似乎很多数学运算也是在tf.math中实现的,我应该完全放弃numpy操作吗?顺便说一下,我不会用Tensorflow进行机器学习,主要是用Tensorflow Probability进行采样等操作。
1个回答

2
通常来说,Tensorflow中有三种变量类型。
  • var = tf.placeholder() 定义了一个占位符,用于接收和提供训练数据。
  • var = tf.constant() 创建一个常量张量。
  • var = tf.variable() 定义了一个可训练的变量。Tensorflow会自动对这种变量进行微分运算。例如,神经网络的权重和偏置应该使用tf.variable()进行定义。
通常使用Numpy变量来初始化var = tf.constant()var = tf.variable()。而var = tf.placeholder()则不需要初始化。
顺便提一下,这里有一个简单的教程,其中包含一些实践例子,可能会帮助您尽快熟悉Tensorflow。 simple tutorial

非常感谢!那么Tensorflow probability呢?我可能更多地使用Tensorflow进行蒙特卡罗模拟,而不是用于机器学习。我是否需要tf.variable(),还是应该坚持使用tf.constants呢? - Pickniclas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接