Я использую Theano's LogisticRegression sample code, и я вообще не модифицировал код в данном пакете, и я использую те же данные.Как читать значения предсказаний класса Thean's LogisticRegression в пакете DeepLearningTutorials?
Мне нужно прочитать значения предсказания, которые находятся внутри поля (self.y_pred) в классе LogisticRegression, а также значения вероятностей прогнозирования, которые находятся в поле self.p_y_given_x того же класса.
Они являются тензорными и тензорными переменными, и я не знаю, как их читать и печатать. Мне нужно, чтобы они выполняли постобработку, но я не могу получить доступ к значениям. Значения следует читать после тренировки, которые должны быть здесь вокруг звездных чахатчиков.
while (epoch < n_epochs) and (not done_looping):
epoch = epoch + 1
for minibatch_index in xrange(n_train_batches):
minibatch_avg_cost = train_model(minibatch_index)
# iteration number
iter = (epoch - 1) * n_train_batches + minibatch_index
if (iter + 1) % validation_frequency == 0:
# compute zero-one loss on validation set
validation_losses = [validate_model(i)
for i in xrange(n_valid_batches)]
this_validation_loss = numpy.mean(validation_losses)
print('epoch %i, minibatch %i/%i, validation error %f %%' % \
(epoch, minibatch_index + 1, n_train_batches,
this_validation_loss * 100.))
# if we got the best validation score until now
if this_validation_loss < best_validation_loss:
#improve patience if loss improvement is good enough
if this_validation_loss < best_validation_loss * \
improvement_threshold:
patience = max(patience, iter * patience_increase)
best_validation_loss = this_validation_loss
# test it on the test set
test_losses = [test_model(i)
for i in xrange(n_test_batches)]
test_score = numpy.mean(test_losses)
print((' epoch %i, minibatch %i/%i, test error of best'
' model %f %%') %
(epoch, minibatch_index + 1, n_train_batches,
test_score * 100.))
if patience <= iter:
done_looping = True
break
end_time = time.clock()
print(('Optimization complete with best validation score of %f %%,'
'with test performance %f %%') %
(best_validation_loss * 100., test_score * 100.))
print 'The code run for %d epochs, with %f epochs/sec' % (
epoch, 1. * epoch/(end_time - start_time))
print >> sys.stderr, ('The code for file ' +
os.path.split(__file__)[1] +
' ran for %.1fs' % ((end_time - start_time)))
#read the values here and print them
#**********************************
if __name__ == '__main__':
sgd_optimization_mnist()
Спасибо Кайл, он работает хорошо, как ожидалось. – Ash