Caffe2 - Ищите хорошо прокомментированное руководство на тему "Как настроить предварительно обученную сеть в Caffe2"
Я ищу обобщенное руководство по трансферному обучению в Caffe2.
Я работаю на Ubuntu 16.04. Установил Caffe2 с помощью метода build-from-source с поддержкой GPU. У моего ноутбука есть gpu с поддержкой cuda.
Я попытался построить свою собственную "простую" модель CNN с количеством слоев от 5 до 12 для классификации деревьев (на данный момент 3 категории). Но у меня очень ужасающие результаты. Поэтому я решил попробовать перенести обучение. Я пытался следовать этому руководству https://nbviewer.jupyter.org/gist/kyamagu/6cff70840c10ca374e069a3a7eb00cb4/dogs-vs-cats.ipynb. Который был самым подробным руководством, которое я смог найти...
Но есть некоторые строки, которые я не мог понять, почему некоторые значения были использованы. Например, эта строка: model.Squeeze("softmaxout", "softmax", dims=[2, 3])
- Почему dims
param это массив из 2 и 3... (я хотел бы знать, что означают эти числа)
Когда я попытался запустить код из учебника выше (с моими модификациями специфичных для значения частей кода, за исключением строки, которую я упомянул..) - доступной на github (LoadPretrainedSqueezenetModel
функция). Это привело к ошибке:
[libprotobuf FATAL /home/filip/workbench/libs/pytorch/third_party/protobuf/src/google/protobuf/repeated_field.h:1522] CHECK failed: (index) < (current_size_):
Traceback (most recent call last):
File "main.py", line 62, in <module>
SqueezenetRetrain(labels)
File "/home/filip/workbench/git/MachineLearningScripts/caffe2/Methods.py", line 76, in SqueezenetRetrain
workspace.CreateNet(squeezenetModel.net, overwrite=True)
File "/usr/local/lib/python2.7/dist-packages/caffe2/python/workspace.py", line 171, in CreateNet
StringifyProto(net), overwrite,
File "/usr/local/lib/python2.7/dist-packages/caffe2/python/workspace.py", line 197, in CallWithExceptionIntercept
return func(*args, **kwargs)
RuntimeError: CHECK failed: (index) < (current_size_):
Итак, я спрашиваю, знаете ли вы о действительно хороших руководствах по трансферному обучению, которые скорее для инженеров, чем для академиков.
заранее спасибо