diff --git a/reading_machine/src/Classifier.cpp b/reading_machine/src/Classifier.cpp index d8418c99c563c00dfce55e7ed8f6a1e0fae89fa8..d9ead9a52e3dbf7e0beebd6ff08bc515712862a9 100644 --- a/reading_machine/src/Classifier.cpp +++ b/reading_machine/src/Classifier.cpp @@ -101,7 +101,7 @@ void Classifier::initNeuralNetwork(const std::vector<std::string> & definition) if (splited.size() != 6 or (splited.back() != "false" and splited.back() != "true")) util::myThrow(expected); - optimizer.reset(new torch::optim::Adam(getNN()->parameters(), torch::optim::AdamOptions(std::stof(splited[0])).amsgrad(splited.back() == "true").beta1(std::stof(splited[1])).beta2(std::stof(splited[2])).eps(std::stof(splited[3])).weight_decay(std::stof(splited[4])))); + optimizer.reset(new torch::optim::Adam(getNN()->parameters(), torch::optim::AdamOptions(std::stof(splited[0])).amsgrad(splited.back() == "true").betas({std::stof(splited[1]),std::stof(splited[2])}).eps(std::stof(splited[3])).weight_decay(std::stof(splited[4])))); } else util::myThrow(expected); diff --git a/torch_modules/src/LSTM.cpp b/torch_modules/src/LSTM.cpp index b8f8e7f7dfb2d568f69ccb4062764d85a7b930a8..af89a3dedddc3750451f75442213eeb52482dfda 100644 --- a/torch_modules/src/LSTM.cpp +++ b/torch_modules/src/LSTM.cpp @@ -5,7 +5,7 @@ LSTMImpl::LSTMImpl(int inputSize, int outputSize, LSTMOptions options) : outputA auto lstmOptions = torch::nn::LSTMOptions(inputSize, outputSize) .batch_first(std::get<0>(options)) .bidirectional(std::get<1>(options)) - .layers(std::get<2>(options)) + .num_layers(std::get<2>(options)) .dropout(std::get<3>(options)); lstm = register_module("lstm", torch::nn::LSTM(lstmOptions)); @@ -13,7 +13,7 @@ LSTMImpl::LSTMImpl(int inputSize, int outputSize, LSTMOptions options) : outputA torch::Tensor LSTMImpl::forward(torch::Tensor input) { - auto lstmOut = lstm(input).output; + auto lstmOut = std::get<0>(lstm(input)); if (outputAll) return lstmOut.reshape({lstmOut.size(0), -1});