import tensorflow as tf import numpy as np # 创建数据集 x_data = np.random.rand(100).astype(np.float32) y_data = x_data * 0.1 + 0.3 # 构建模型 Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0)) biases = tf.Variable(tf.zeros([1])) y = Weights * x_data + biases # 定义损失函数和优化器 loss = tf.reduce_mean(tf.square(y - y_data)) optimizer = tf.train.GradientDescentOptimizer(0.5) train = optimizer.minimize(loss) # 初始化变量 init = tf.global_variables_initializer() # 运行计算图 with tf.Session() as sess: sess.run(init) # 训练模型 for step in range(201): sess.run(train) if step % 20 == 0: print(step, sess.run(Weights), sess.run(biases))Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0)) AttributeError: module 'tensorflow' has no attribute 'random_uniform'
时间: 2023-07-16 08:13:34 浏览: 192
浅谈numpy中np.array()与np.asarray的区别以及.tolist
5星 · 资源好评率100%
在TensorFlow 2.0版本中,`tf.random_uniform()`已经被弃用。如果你使用的是TensorFlow 2.0版本或更高版本,可以使用`tf.random.uniform()`代替。修改后的代码如下:
```
import tensorflow as tf
import numpy as np
# 创建数据集
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3
# 构建模型
Weights = tf.Variable(tf.random.uniform([1], -1.0, 1.0))
biases = tf.Variable(tf.zeros([1]))
y = Weights * x_data + biases
# 定义损失函数和优化器
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.optimizers.SGD(0.5)
train = optimizer.minimize(loss)
# 初始化变量
init = tf.global_variables_initializer()
# 运行计算图
with tf.Session() as sess:
sess.run(init)
# 训练模型
for step in range(201):
sess.run(train)
if step % 20 == 0:
print(step, sess.run(Weights), sess.run(biases))
```
这样就可以正常运行代码了。
阅读全文