Извините, но какова концепция узла с состоянием / без состояния? Заранее спасибо @mrry
бучения передачи часто используют сеть в качестве экстрактора признаков для создания набора данных признаков, на котором обучается другой классификатор (например, SVM).
Я хочу реализовать это с помощью API набора данных (tf.contrib.data
) а такжеdataset.map()
:
# feature_extractor will create a CNN on top of the given tensor
def features(feature_extractor, ...):
dataset = inputs(...) # This creates a dataset of (image, label) pairs
def map_example(image, label):
features = feature_extractor(image, trainable=False)
# Leaving out initialization from a checkpoint here...
return features, label
dataset = dataset.map(map_example)
return dataset
Это невозможно при создании итератора для набора данных.
ValueError: Cannot capture a stateful node by value.
Это правда, ядра и смещения сети являются переменными и, следовательно, с состоянием. Для этого конкретного примера они не должны быть все же.
Есть ли способ сделать опс и конкретноtf.Variable
объекты без гражданства?
Так как я используюtf.layers
Я не могу просто создать их как константы, и установкаtrainable=False
не будет создавать константы, но просто не будет добавлять переменные вGraphKeys.TRAINABLE_VARIABLES
коллекция.