간단한 로지스틱 회귀를 구현했습니다. 훈련 알고리즘을 실행하기 전에, 내가 테스트 한하는 (정확하게, 로지스틱 회귀 분석이 구현 내 모든 변수를 초기화 한 후에 내가 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))
제 문제는 모델에 사용 된 가중치를 추출해야합니다. 나는 내가 훈련 무게가 tf.training_variables()
에 위치 할 것이라고 생각
var = [v for v in tf.trainable_variables() if v.name == "Variable:0"][0]
print(sess.run(var[0]))
pred = tf.nn.softmax(tf.matmul(x, W) + b) # Softmax
나는 다음과 같은 방법으로 추출 시도
가 ..., 내가 도망 그러나 때 ... 내 모델에 대해 다음을 사용
print
함수는 0의 배열을 얻습니다.
내가 원하는 것은 모든 가중치 집합입니다. 그러나 어떤 이유로 나는 분류 자의 실제 가중치 대신에 0의 배열을 얻고 있습니다.