Я пытаюсь запустить модель линейной регрессии с помощью TensorFlow. Я привел код ниже. Однако я получил сообщение об ошибке: ValueError: Shape должен иметь ранг не ниже 2, но имеет ранг 1 для 'model_19 / MatMul' (op: 'BatchMatMulV2') с входными формами: [1],?.
Из-за ошибки кажется, что вход в функцию model_linear создает проблему. Мы будем очень признательны за любые предложения по устранению ошибки.
import tensorflow as tf
x_train = [1.0, 2.0, 3.0, 4.0]
y_train = [1.5, 3.5, 5.5, 7.5]
def model_linear(x, y):
with tf.variable_scope('model', reuse=tf.AUTO_REUSE):
W = tf.get_variable("W", initializer=tf.constant([0.1]))
b = tf.get_variable("b", initializer=tf.constant([0.0]))
output = tf.matmul(W, x) + b
loss = tf.reduce_sum(tf.square(output - y))
return loss
optimizer = tf.train.GradientDescentOptimizer(0.01)
with tf.Session():
tf.global_variables_initializer().run()
x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32)
loss = model_linear(x, y)
train = optimizer.minimize(loss)
for i in range(1000):
train.run(feed_dict = {x:x_train, y:y_train})