Line data Source code
1 : #include "NeuralNetwork.h" 2 : #include "NeuralNetworkImportExportFacade.h" 3 : #include "exception/ImportExportException.h" 4 : #include <exception> 5 : #include <memory> 6 : 7 : using namespace sipai; 8 : 9 1 : std::unique_ptr<NeuralNetwork> NeuralNetworkImportExportFacade::importModel( 10 : const AppParams &appParams, NeuralNetworkParams &networkParams) { 11 : try { 12 1 : auto network = jsonIE.importModel(appParams, networkParams); 13 2 : return network; 14 1 : } catch (std::exception &ex) { 15 0 : throw ImportExportException(ex.what()); 16 0 : } 17 : } 18 : 19 1 : void NeuralNetworkImportExportFacade::importWeights( 20 : std::unique_ptr<NeuralNetwork> &network, const AppParams &appParams, 21 : std::function<void(int)> progressCallback, int progressInitialValue) { 22 : try { 23 1 : csvIE.importNeuronsWeights(network, appParams, progressCallback, 24 : progressInitialValue); 25 0 : } catch (std::exception &ex) { 26 0 : throw ImportExportException(ex.what()); 27 0 : } 28 1 : } 29 : 30 4 : void NeuralNetworkImportExportFacade::exportModel( 31 : const std::unique_ptr<NeuralNetwork> &network, 32 : const NeuralNetworkParams &networkParams, 33 : const AppParams &appParams) const { 34 : try { 35 4 : jsonIE.exportModel(network, networkParams, appParams); 36 4 : csvIE.exportNeuronsWeights(network, appParams); 37 0 : } catch (std::exception &ex) { 38 0 : throw ImportExportException(ex.what()); 39 0 : } 40 4 : }