Полное раскрытие, я задал этот же вопрос на форумах Pytorch около нескольких дней назад и не получил ответа, так что это технически репост, но я считаю, что это все еще хороший вопрос, потому что я не смог найти ответ где -либо в Интернете. Вот гласит: < /p>
Можете ли вы показать пример использования register_module с помощью пользовательского модуля? IDE не говорит мне ни одного экземпляра перегруженной функции "mymodel :: register_module" соответствует списку аргументов - Типы аргументов: (const char [14], treeembedding) < /code> < /p>
(Treeembedding - это имя другого структуры, которое я сделал, который расширяет Torch :: nn :: module.) Пример этого был бы очень полезным. < /P>
< /p>
Изменить: Дополнительный контекст следует ниже. PrettyPrint-Override ">struct TreeEmbedding : torch::nn::Module {
TreeEmbedding();
torch::Tensor forward(Graph tree);
};
struct MyModel : torch::nn::Module{
size_t embeddingSize;
TreeEmbedding treeEmbedding;
MyModel(size_t embeddingSize=10);
torch::Tensor forward(std::vector clauses, std::vector contexts);
};
< /code>
У меня также есть файл cpp "model.cpp", который содержит следующее: < /p>
MyModel::MyModel(size_t embeddingSize) :
embeddingSize(embeddingSize)
{
treeEmbedding = register_module("treeEmbedding", TreeEmbedding{});
}
< /code>
Эта настройка по -прежнему имеет такую же ошибку, что и выше. Код в документации работает (используя встроенные компоненты, такие как линейные слои), но использование пользовательского модуля не так. После отслеживания TORCH :: nn :: Linear, похоже, что это модуль -владелец < /code> (что бы это ни было ...) < /p>
Спасибо,
jack < /p>
Подробнее здесь: https://stackoverflow.com/questions/615 ... libtorch-c