#python #tensorflow #machine-learning #keras #data-science
Вопрос:
Это код, который у меня есть, и проблема в том, что он не печатает точность для каждой эпохи, которую я тренирую.
Вот ссылка на мой блокнот с кодом https://colab.research.google.com/drive/15Cxa9w_PfhJUa9EjizL20yP0sLwIGjNb?usp=sharing
Может ли кто-нибудь помочь мне напечатать точность и потери для моего кода, потому что он показывает вывод в виде nan% вместо некоторого значения в нем.
Код, который я вдохновлен или использую в проекте: https://github.com/Christian-Garrett/MRI_Brain_Scan_Computer_Vision_Classification
with tf.Session() as sess:
if restore_checkpoint and tf.train.checkpoint_exists(checkpoint_path):
saver.restore(sess, checkpoint_path)
else:
init.run()
for epoch in range(n_epochs):
for iteration in range(1, n_iterations_per_epoch 1):
start = (iteration-1)*batch_size
stop = iteration*batch_size
X_batch, y_batch = train_X[start:stop], train_y[start:stop]
# Run the training operation and measure the loss:
_, loss_train = sess.run(
[training_op, loss],
feed_dict={X: X_batch.reshape([-1, 56, 56, 1]),
y: y_batch,
mask_with_labels: True})
print("rIteration: {}/{} ({:.1f}%) Loss: {:.5f}".format(
iteration, n_iterations_per_epoch,
iteration * 100 / n_iterations_per_epoch,
loss_train),
end="")
# At the end of each epoch, measure the validation loss and accuracy:
loss_vals = []
acc_vals = []
for iteration in range(1, n_iterations_validation 1):
start = (iteration-1)*batch_size
stop = iteration*batch_size
X_batch, y_batch = val_X[start:stop], val_y[start:stop]
loss_val, acc_val = sess.run(
[loss, accuracy],
feed_dict={X: X_batch.reshape([-1, 56, 56, 1]),
y: y_batch})
loss_vals.append(loss_val)
acc_vals.append(acc_val)
print("rEvaluating the model: {}/{} ({:.1f}%)".format(
iteration, n_iterations_validation,
iteration * 100 / n_iterations_validation),
end=" " * 10)
loss_val = np.mean(loss_vals)
acc_val = np.mean(acc_vals)
print("rEpoch: {} Val accuracy: {:.4f}% Loss: {:.6f}{}".format(
epoch 1, acc_val * 100, loss_val,
" (improved)" if loss_val < best_loss_val else ""))
# And save the model if it improved:
if loss_val < best_loss_val:
save_path = saver.save(sess, checkpoint_path)
best_loss_val = loss_val```
[1]: https://i.stack.imgur.com/pTxm5.png
Комментарии:
1. Похоже, есть проблема с вашими ярлыками. Я не смог запустить ваш код, потому что набор данных был недоступен. Но следует отметить, что метки должны начинаться с 0 до num_class — 1