2017-02-20 4 views
0

Теперь я использую FB библиотеку факела из GitHub fb torch resnetКак сохранить значения параметров всех пакетных данных из предварительно обработанных факельных сетей?

Это мой первый раз использовать факел и Lua, поэтому Im сталкиваются с некоторыми проблемами.

Моя цель - сохранить вектор-функцию определенного уровня (последний пул перезапуска resnet) в один файл с классом входного изображения. Все входные изображения взяты из cifar-10 дБ.

Формат файла, который я хочу получить, как сильфонных

image1.txt := class index of image and feature vector of image 1 of cifar-10 
image2.txt := class index of image and feature vector of image 2 of cifar-10 
// and so on through all images of cifar-10 

Теперь я видел некоторые примеры кода этой GitHub extract-features.lua

Потому что это мой первый раз для Lua, я чувствую себя так трудно понять этот код и изменить способ, которым я хочу. И я не хочу, чтобы мои данные сохранялись в формате файла t7.

  1. Как я могу получить доступ только к одному конкретному слою из сети в факеле через lua? (последний средний пул)
  2. Как я могу получить доступ к значениям уровня и индексу результата классификации?
  3. Как читать все изображения из файла cifar-10 db (партия t7)?

Извините за слишком много вопросов. Но я чувствую себя твердым, используя факел из-за пула. Анимуты сообщества и публикации факела. Пожалуйста, поймите меня.

ответ

1

Как я могу получить доступ только к одному определенному слою из сети в факеле через lua? (последний средний пул)

Чтобы получить доступ к каждому слою, вам просто нужно загрузить модель и получить ее с помощью целого числа. Если вы делаете print model, вы сможете увидеть, в каком положении находится последний средний пул.

model = torch.load(path_to_model):cuda() 
avg_pooling_layer = model:get(position_of_the_avg_pooling_layer) 

Как я могу получить доступ к значениям индекса уровня и результатов классификации?

Я не совсем понимаю, что вы подразумеваете под этим. Если вы хотите увидеть результат или весы определенного слоя. (следуя приведенному выше коду) Вам необходимо получить эти элементы из таблицы . Опять же, чтобы увидеть, какие из них являются возможными элементами, чтобы получить использование print avg_pooling_layer

weights = avg_pooling_layer.weight -- get the weights of the layer 
output = avg_pooling_layer.output -- get the output of the layer 

Как можно прочитать все каждый из изображений cifar-10 дб файла (t7 пакетных)?

Для чтения изображений из файла t7 используйте функцию факела torch.load. (используется для загрузки модели).

cifar_10 = torch.load("path_to_cifar-10.t7") 

После загрузки у вас может быть установлен тренинг и тест в виде субтитров или функций. Опять же, распечатайте таблицу и визуализируйте, какие значения вам нужны.

Надеюсь, это поможет!

Смежные вопросы