Я пытаюсь выполнить вывод для имеющегося у меня набора данных (X_train
) и получить значение слоя logits без софтмакса, примененного к выходу.Модель, которую я загружаю из файла контрольных точек (model_X.ckpt
), имеет слой logits с именем "logits".В общем, я хочу запустить:
sess.run("model_X/logits:0", feed_dict: {"Placeholder:0": X_train, keep_prob:1.0})
Но модель ограничивает размер входного набора данных 32, что не позволяет мне пропускать 10000 входов одновременно.Вот почему я также использую пакетное создание как таковое:
features_placeholder = tf.placeholder(X_train.dtype, X_train.shape)
dataset = tf.data.Dataset.from_tensor_slices((features_placeholder))
dataset = dataset.batch(32)
Я создаю итератор (использование one-shot-iterator взрывает размер моего графика, основываясь исключительно на моих рассуждениях):
def initialize_iterator(sess, iterator, features):
sess.run(iterator.initializer, feed_dict={features_placeholder: features})
iterator = dataset.make_initializable_iterator()
initialize_iterator(sess, iterator, X_train)
next_x = iterator.get_next()
# Assign the first batch:
val = sess.run(next_x)
layer = "model_X/logits:0"
units = sess.run(layer,feed_dict={"Placeholder:0": val, keep_prob:1.0})
Как перебрать все партии, чтобы вывести все входные данные?