From ab7434d0977ad4fba27dd0666e0cc6798d02d569 Mon Sep 17 00:00:00 2001 From: Sebastian Nickels <sn1c@protonmail.ch> Date: Mon, 12 Aug 2019 03:26:49 +0200 Subject: [PATCH] Moved some MXNet-related code from CNNArch2X to here --- .../cnnarch/gluongenerator/CNNArch2Gluon.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/monticore/lang/monticar/cnnarch/gluongenerator/CNNArch2Gluon.java b/src/main/java/de/monticore/lang/monticar/cnnarch/gluongenerator/CNNArch2Gluon.java index e5eca30c..45477f77 100644 --- a/src/main/java/de/monticore/lang/monticar/cnnarch/gluongenerator/CNNArch2Gluon.java +++ b/src/main/java/de/monticore/lang/monticar/cnnarch/gluongenerator/CNNArch2Gluon.java @@ -20,15 +20,14 @@ */ package de.monticore.lang.monticar.cnnarch.gluongenerator; -import de.monticore.lang.monticar.cnnarch._symboltable.IODeclarationSymbol; -import de.monticore.lang.monticar.cnnarch._symboltable.VariableDeclarationSymbol; -import de.monticore.lang.monticar.cnnarch._symboltable.VariableSymbol; import de.monticore.lang.monticar.cnnarch.generator.CNNArchGenerator; import de.monticore.lang.monticar.cnnarch.generator.Target; import de.monticore.lang.monticar.cnnarch.generator.TemplateConfiguration; import de.monticore.lang.monticar.cnnarch._symboltable.ArchitectureSymbol; -import de.se_rwth.commons.logging.Log; +import de.monticore.lang.monticar.generator.FileContent; +import de.monticore.lang.monticar.generator.cmake.CMakeConfig; +import de.monticore.lang.monticar.generator.cmake.CMakeFindModule; import java.util.*; @@ -112,4 +111,20 @@ public class CNNArch2Gluon extends CNNArchGenerator { architecture, templateConfiguration); return compilePythonFiles(archTc, architecture); } + + public Map<String, String> generateCMakeContent(String rootModelName) { + // model name should start with a lower case letter. If it is a component, replace dot . by _ + rootModelName = rootModelName.replace('.', '_').replace('[', '_').replace(']', '_'); + rootModelName = rootModelName.substring(0, 1).toLowerCase() + rootModelName.substring(1); + + CMakeConfig cMakeConfig = new CMakeConfig(rootModelName); + cMakeConfig.addModuleDependency(new CMakeFindModule("Armadillo", true)); + cMakeConfig.addCMakeCommand("set(LIBS ${LIBS} mxnet)"); + + Map<String,String> fileContentMap = new HashMap<>(); + for (FileContent fileContent : cMakeConfig.generateCMakeFiles()){ + fileContentMap.put(fileContent.getFileName(), fileContent.getFileContent()); + } + return fileContentMap; + } } \ No newline at end of file -- GitLab