Я реализовал простую логистическую регрессию. Перед запуском алгоритма обучения, я создал заполнитель для моих весов, где я инициализированный всех веса до 0 ...Как получить подготовленные веса, созданные моделью
W = tf.Variable(tf.zeros([784, 10]))
После инициализации всех мои переменных правильно, логистическая регрессия реализована (который я проверил и работает правильно) ...
for epoch in range(training_epochs):
avg_cost = 0
total_batch = int(mnist.train.num_examples/batch_size)
# loop over all batches
for i in range(total_batch):
batch_xs, batch_ys = mnist.train.next_batch(batch_size)
_, c = sess.run([optimizer, cost], feed_dict={x: batch_xs, y: batch_ys})
# compute average loss
avg_cost += c/total_batch
# display logs per epoch step
if (epoch + 1) % display_step == 0:
print("Epoch:", '%04d' % (epoch + 1), "cost=", "{:.9f}".format(avg_cost))
Моя проблема заключается в том, что мне нужно извлечь весы, используемые в модели. Я использовал следующее для моей модели ...
pred = tf.nn.softmax(tf.matmul(x, W) + b) # Softmax
Я попытался извлекая следующим образом ...
var = [v for v in tf.trainable_variables() if v.name == "Variable:0"][0]
print(sess.run(var[0]))
Я думал, что обученные веса будет находиться в tf.training_variables()
, однако, когда я бегу print
Функция, я получаю массив нулей.
Что я хочу, это все наборы весов. Но по какой-то причине я получаю массивы нулей вместо фактических весов классификатора.