Как сериализовать вектор кортежа libtorch (std :: string, torch :: Tensor) с помощью protobuf? - PullRequest
0 голосов
/ 02 августа 2020

Как мне определить схему ProtoBuf, чтобы я мог сериализовать этот вектор формы?

std::vector<std::tuple(std::string, torch::Tensor)>

Все, что я смог найти, это простые тривиальные примеры. Я понятия не имею, как мне определять torch::Tensor или tuple в схеме ProtoBuf!

1 Ответ

1 голос
/ 02 августа 2020

Вы можете использовать string для представления torch::Tensor в схеме ProtoBuf. * ​​1003 *

Пример:

syntax = "proto3";

package tensor;

message Lookup {
    message Tuple {
        string key = 1;
        string tensor = 2;
    }

    repeated Tuple tuples = 1;
}

Используйте torch::save() и torch::load() API для преобразования в / из std::string через std::stringstream как указано здесь .

...