Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
monticore
EmbeddedMontiArc
languages
CNNTrainLang
Commits
e32e7c81
Commit
e32e7c81
authored
Sep 25, 2019
by
Julian Johannes Steinsberger-Dührßen
Committed by
Evgeny Kusmenko
Sep 25, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tensorflow group
parent
33398aa9
Changes
76
Hide whitespace changes
Inline
Side-by-side
Showing
75 changed files
with
539 additions
and
17 deletions
+539
-17
.circleci/config.yml
.circleci/config.yml
+7
-0
.gitlab-ci.yml
.gitlab-ci.yml
+7
-0
pom.xml
pom.xml
+8
-0
settings.xml
settings.xml
+8
-0
src/main/grammars/de/monticore/lang/monticar/CNNTrain.mc4
src/main/grammars/de/monticore/lang/monticar/CNNTrain.mc4
+5
-2
src/main/java/de/monticore/lang/monticar/cnntrain/_ast/ASTLossValue.java
...e/monticore/lang/monticar/cnntrain/_ast/ASTLossValue.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_ast/ASTMultiParamValue.java
...icore/lang/monticar/cnntrain/_ast/ASTMultiParamValue.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_ast/ASTOptimizerValue.java
...ticore/lang/monticar/cnntrain/_ast/ASTOptimizerValue.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/ASTConfigurationUtils.java
.../lang/monticar/cnntrain/_cocos/ASTConfigurationUtils.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CNNTrainCocos.java
...onticore/lang/monticar/cnntrain/_cocos/CNNTrainCocos.java
+7
-1
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CNNTrainConfigurationSymbolChecker.java
...r/cnntrain/_cocos/CNNTrainConfigurationSymbolChecker.java
+7
-1
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CNNTrainConfigurationSymbolCoCo.java
...icar/cnntrain/_cocos/CNNTrainConfigurationSymbolCoCo.java
+7
-1
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CNNTrainConfigurationSymbolCoCo.java~Integrate TD3 Algorithm and Gaussian Noise
...ymbolCoCo.java~Integrate TD3 Algorithm and Gaussian Noise
+30
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CNNTrainConfigurationSymbolCoCo.java~e19e3385152e0d44db9cd13f93428bb407f56cce
...nSymbolCoCo.java~e19e3385152e0d44db9cd13f93428bb407f56cce
+30
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckActorCriticRequiresCriticNetwork.java
...nntrain/_cocos/CheckActorCriticRequiresCriticNetwork.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckContinuousRLAlgorithmUsesContinuousStrategy.java
...cos/CheckContinuousRLAlgorithmUsesContinuousStrategy.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckCriticNetworkHasExactlyAOneDimensionalOutput.java
...os/CheckCriticNetworkHasExactlyAOneDimensionalOutput.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckCriticNetworkInputs.java
...ng/monticar/cnntrain/_cocos/CheckCriticNetworkInputs.java
+7
-1
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckDiscreteRLAlgorithmUsesDiscreteStrategy.java
.../_cocos/CheckDiscreteRLAlgorithmUsesDiscreteStrategy.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckEntryRepetition.java
...e/lang/monticar/cnntrain/_cocos/CheckEntryRepetition.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckFixTargetNetworkRequiresInterval.java
...nntrain/_cocos/CheckFixTargetNetworkRequiresInterval.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckInteger.java
...monticore/lang/monticar/cnntrain/_cocos/CheckInteger.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckLearningParameterCombination.java
...ar/cnntrain/_cocos/CheckLearningParameterCombination.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckOUParameterDimensionEqualsActionDimension.java
...cocos/CheckOUParameterDimensionEqualsActionDimension.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckReinforcementRequiresEnvironment.java
...nntrain/_cocos/CheckReinforcementRequiresEnvironment.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckRlAlgorithmParameter.java
...g/monticar/cnntrain/_cocos/CheckRlAlgorithmParameter.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckRosEnvironmentHasOnlyOneRewardSpecification.java
...cos/CheckRosEnvironmentHasOnlyOneRewardSpecification.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckRosEnvironmentRequiresRewardFunction.java
...ain/_cocos/CheckRosEnvironmentRequiresRewardFunction.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckTrainedRlNetworkHasExactlyOneInput.java
...train/_cocos/CheckTrainedRlNetworkHasExactlyOneInput.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckTrainedRlNetworkHasExactlyOneOutput.java
...rain/_cocos/CheckTrainedRlNetworkHasExactlyOneOutput.java
+7
-1
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/ParameterAlgorithmMapping.java
...g/monticar/cnntrain/_cocos/ParameterAlgorithmMapping.java
+7
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/CNNTrainCompilationUnitSymbol.java
.../cnntrain/_symboltable/CNNTrainCompilationUnitSymbol.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/CNNTrainLanguage.java
...lang/monticar/cnntrain/_symboltable/CNNTrainLanguage.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/CNNTrainSymbolTableCreator.java
...car/cnntrain/_symboltable/CNNTrainSymbolTableCreator.java
+31
-3
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/ConfigurationSymbol.java
...g/monticar/cnntrain/_symboltable/ConfigurationSymbol.java
+7
-1
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/ConfigurationSymbolKind.java
...nticar/cnntrain/_symboltable/ConfigurationSymbolKind.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/Context.java
...onticore/lang/monticar/cnntrain/_symboltable/Context.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/EntryKind.java
...ticore/lang/monticar/cnntrain/_symboltable/EntryKind.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/EntrySymbol.java
...core/lang/monticar/cnntrain/_symboltable/EntrySymbol.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/Environment.java
...core/lang/monticar/cnntrain/_symboltable/Environment.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/EpsilonDecayMethod.java
...ng/monticar/cnntrain/_symboltable/EpsilonDecayMethod.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/EvalMetric.java
...icore/lang/monticar/cnntrain/_symboltable/EvalMetric.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/LRPolicy.java
...nticore/lang/monticar/cnntrain/_symboltable/LRPolicy.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/LearningMethod.java
...e/lang/monticar/cnntrain/_symboltable/LearningMethod.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/LossParamSymbol.java
.../lang/monticar/cnntrain/_symboltable/LossParamSymbol.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/LossParamSymbolKind.java
...g/monticar/cnntrain/_symboltable/LossParamSymbolKind.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/LossParamValueSymbol.java
.../monticar/cnntrain/_symboltable/LossParamValueSymbol.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/LossParamValueSymbolKind.java
...ticar/cnntrain/_symboltable/LossParamValueSymbolKind.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/LossSymbol.java
...icore/lang/monticar/cnntrain/_symboltable/LossSymbol.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/LossSymbolKind.java
...e/lang/monticar/cnntrain/_symboltable/LossSymbolKind.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/MultiParamValueSymbol.java
...monticar/cnntrain/_symboltable/MultiParamValueSymbol.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/MultiParamValueSymbolKind.java
...icar/cnntrain/_symboltable/MultiParamValueSymbolKind.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/NNArchitectureSymbol.java
.../monticar/cnntrain/_symboltable/NNArchitectureSymbol.java
+7
-1
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/NNArchitectureSymbolKind.java
...ticar/cnntrain/_symboltable/NNArchitectureSymbolKind.java
+7
-2
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/OptimizerParamSymbol.java
.../monticar/cnntrain/_symboltable/OptimizerParamSymbol.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/OptimizerParamSymbolKind.java
...ticar/cnntrain/_symboltable/OptimizerParamSymbolKind.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/OptimizerParamValueSymbol.java
...icar/cnntrain/_symboltable/OptimizerParamValueSymbol.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/OptimizerParamValueSymbolKind.java
.../cnntrain/_symboltable/OptimizerParamValueSymbolKind.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/OptimizerSymbol.java
.../lang/monticar/cnntrain/_symboltable/OptimizerSymbol.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/OptimizerSymbolKind.java
...g/monticar/cnntrain/_symboltable/OptimizerSymbolKind.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/RLAlgorithm.java
...core/lang/monticar/cnntrain/_symboltable/RLAlgorithm.java
+7
-1
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/RewardFunctionSymbol.java
.../monticar/cnntrain/_symboltable/RewardFunctionSymbol.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/RewardFunctionSymbolKind.java
...ticar/cnntrain/_symboltable/RewardFunctionSymbolKind.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/ValueKind.java
...ticore/lang/monticar/cnntrain/_symboltable/ValueKind.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/ValueSymbol.java
...core/lang/monticar/cnntrain/_symboltable/ValueSymbol.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/annotations/Range.java
...e/monticore/lang/monticar/cnntrain/annotations/Range.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/annotations/RewardFunctionParameter.java
...onticar/cnntrain/annotations/RewardFunctionParameter.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/helper/ConfigEntryNameConstants.java
...ng/monticar/cnntrain/helper/ConfigEntryNameConstants.java
+6
-0
src/main/java/de/monticore/lang/monticar/cnntrain/helper/ErrorCodes.java
...e/monticore/lang/monticar/cnntrain/helper/ErrorCodes.java
+7
-1
src/test/java/de/monticore/lang/monticar/cnntrain/AbstractSymtabTest.java
.../monticore/lang/monticar/cnntrain/AbstractSymtabTest.java
+6
-0
src/test/java/de/monticore/lang/monticar/cnntrain/ParserTest.java
.../java/de/monticore/lang/monticar/cnntrain/ParserTest.java
+6
-0
src/test/java/de/monticore/lang/monticar/cnntrain/SymtabTest.java
.../java/de/monticore/lang/monticar/cnntrain/SymtabTest.java
+6
-0
src/test/java/de/monticore/lang/monticar/cnntrain/cocos/AbstractCoCoTest.java
...ticore/lang/monticar/cnntrain/cocos/AbstractCoCoTest.java
+6
-0
src/test/java/de/monticore/lang/monticar/cnntrain/cocos/AllCoCoTest.java
...e/monticore/lang/monticar/cnntrain/cocos/AllCoCoTest.java
+11
-0
src/test/resources/invalid_cocos_tests/CheckRLAlgorithmParameter4.cnnt
...urces/invalid_cocos_tests/CheckRLAlgorithmParameter4.cnnt
+1
-1
No files found.
.circleci/config.yml
View file @
e32e7c81
#
# (c) https://github.com/MontiCore/monticore
#
# The license generally applicable for this project
# can be found under https://github.com/MontiCore/monticore.
#
# (c) https://github.com/MontiCore/monticore
#
...
...
.gitlab-ci.yml
View file @
e32e7c81
#
# (c) https://github.com/MontiCore/monticore
#
# The license generally applicable for this project
# can be found under https://github.com/MontiCore/monticore.
#
# (c) https://github.com/MontiCore/monticore
stages
:
...
...
pom.xml
View file @
e32e7c81
<!--
(c) https://github.com/MontiCore/monticore
The license generally applicable for this project
can be found under https://github.com/MontiCore/monticore.
-->
<!-- (c) https://github.com/MontiCore/monticore -->
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
...
...
settings.xml
View file @
e32e7c81
<?xml version="1.0" encoding="UTF-8"?>
<!--
(c) https://github.com/MontiCore/monticore
The license generally applicable for this project
can be found under https://github.com/MontiCore/monticore.
-->
<!-- (c) https://github.com/MontiCore/monticore -->
...
...
src/main/grammars/de/monticore/lang/monticar/CNNTrain.mc4
View file @
e32e7c81
...
...
@@ -33,7 +33,8 @@ grammar CNNTrain extends de.monticore.lang.monticar.Common2, de.monticore.Number
TrainContextEntry
implements
ConfigEntry
=
name
:
"context"
":"
value
:
TrainContextValue
;
EvalMetricEntry
implements
ConfigEntry
=
name
:
"eval_metric"
":"
value
:
EvalMetricValue
;
LossEntry
implements
ConfigEntry
=
name
:
"loss"
":"
value
:
LossValue
;
LossWeightsEntry
implements
ConfigEntry
=
name
:
"loss_weights"
":"
value
:
DoubleVectorValue
;
EvalMetricValue
implements
ConfigValue
=(
accuracy
:
"accuracy"
|
crossEntropy
:
"cross_entropy"
|
f1
:
"f1"
...
...
@@ -58,6 +59,8 @@ grammar CNNTrain extends de.monticore.lang.monticar.Common2, de.monticore.Number
L2Loss
implements
LossValue
=
name
:
"l2"
(
"{"
params
:
Entry
*
"}"
)?;
EPELoss
implements
LossValue
=
name
:
"epe"
(
"{"
params
:
Entry
*
"}"
)?;
LogCoshLoss
implements
LossValue
=
name
:
"log_cosh"
(
"{"
params
:
Entry
*
"}"
)?;
interface
HuberEntry
extends
Entry
;
...
...
@@ -126,7 +129,7 @@ grammar CNNTrain extends de.monticore.lang.monticar.Common2, de.monticore.Number
Gamma2Entry
implements
RmsPropEntry
=
name
:
"gamma2"
":"
value
:
NumberValue
;
CenteredEntry
implements
RmsPropEntry
=
name
:
"centered"
":"
value
:
BooleanValue
;
ClipWeightsEntry
implements
RmsPropEntry
=
name
:
"clip_weights"
":"
value
:
NumberValue
;
RhoEntry
implements
AdaDeltaEntry
,
HuberEntry
=
name
:
"rho"
":"
value
:
NumberValue
;
RhoEntry
implements
AdaDeltaEntry
,
RmsPropEntry
,
HuberEntry
=
name
:
"rho"
":"
value
:
NumberValue
;
//
Reinforcement
Extensions
interface
MultiParamValue
extends
ConfigValue
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_ast/ASTLossValue.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._ast
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_ast/ASTMultiParamValue.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._ast
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_ast/ASTOptimizerValue.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._ast
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/ASTConfigurationUtils.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CNNTrainCocos.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
@@ -43,4 +49,4 @@ public class CNNTrainCocos {
.
addCoCo
(
new
CheckCriticNetworkInputs
());
checker
.
checkAll
(
configurationSymbol
);
}
}
}
\ No newline at end of file
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CNNTrainConfigurationSymbolChecker.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
@@ -22,4 +28,4 @@ public class CNNTrainConfigurationSymbolChecker {
coco
.
check
(
configurationSymbol
);
}
}
}
}
\ No newline at end of file
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CNNTrainConfigurationSymbolCoCo.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
@@ -8,4 +14,4 @@ import de.monticore.lang.monticar.cnntrain._symboltable.ConfigurationSymbol;
*/
public
interface
CNNTrainConfigurationSymbolCoCo
{
void
check
(
ConfigurationSymbol
configurationSymbol
);
}
}
\ No newline at end of file
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CNNTrainConfigurationSymbolCoCo.java~Integrate TD3 Algorithm and Gaussian Noise
0 → 100644
View file @
e32e7c81
/**
*
*
******************************************************************************
*
MontiCAR
Modeling
Family
,
www
.
se
-
rwth
.
de
*
Copyright
(
c
)
2017
,
Software
Engineering
Group
at
RWTH
Aachen
,
*
All
rights
reserved
.
*
*
This
project
is
free
software
;
you
can
redistribute
it
and
/
or
*
modify
it
under
the
terms
of
the
GNU
Lesser
General
Public
*
License
as
published
by
the
Free
Software
Foundation
;
either
*
version
3.0
of
the
License
,
or
(
at
your
option
)
any
later
version
.
*
This
library
is
distributed
in
the
hope
that
it
will
be
useful
,
*
but
WITHOUT
ANY
WARRANTY
;
without
even
the
implied
warranty
of
*
MERCHANTABILITY
or
FITNESS
FOR
A
PARTICULAR
PURPOSE
.
See
the
GNU
*
Lesser
General
Public
License
for
more
details
.
*
*
You
should
have
received
a
copy
of
the
GNU
Lesser
General
Public
*
License
along
with
this
project
.
If
not
,
see
<
http
://
www
.
gnu
.
org
/
licenses
/>.
*
*******************************************************************************
*/
package
de
.
monticore
.
lang
.
monticar
.
cnntrain
.
_cocos
;
import
de
.
monticore
.
lang
.
monticar
.
cnntrain
.
_symboltable
.
ConfigurationSymbol
;
/**
*
*/
public
interface
CNNTrainConfigurationSymbolCoCo
{
void
check
(
ConfigurationSymbol
configurationSymbol
);
}
\ No newline at end of file
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CNNTrainConfigurationSymbolCoCo.java~e19e3385152e0d44db9cd13f93428bb407f56cce
0 → 100644
View file @
e32e7c81
/**
*
*
******************************************************************************
*
MontiCAR
Modeling
Family
,
www
.
se
-
rwth
.
de
*
Copyright
(
c
)
2017
,
Software
Engineering
Group
at
RWTH
Aachen
,
*
All
rights
reserved
.
*
*
This
project
is
free
software
;
you
can
redistribute
it
and
/
or
*
modify
it
under
the
terms
of
the
GNU
Lesser
General
Public
*
License
as
published
by
the
Free
Software
Foundation
;
either
*
version
3.0
of
the
License
,
or
(
at
your
option
)
any
later
version
.
*
This
library
is
distributed
in
the
hope
that
it
will
be
useful
,
*
but
WITHOUT
ANY
WARRANTY
;
without
even
the
implied
warranty
of
*
MERCHANTABILITY
or
FITNESS
FOR
A
PARTICULAR
PURPOSE
.
See
the
GNU
*
Lesser
General
Public
License
for
more
details
.
*
*
You
should
have
received
a
copy
of
the
GNU
Lesser
General
Public
*
License
along
with
this
project
.
If
not
,
see
<
http
://
www
.
gnu
.
org
/
licenses
/>.
*
*******************************************************************************
*/
package
de
.
monticore
.
lang
.
monticar
.
cnntrain
.
_cocos
;
import
de
.
monticore
.
lang
.
monticar
.
cnntrain
.
_symboltable
.
ConfigurationSymbol
;
/**
*
*/
public
interface
CNNTrainConfigurationSymbolCoCo
{
void
check
(
ConfigurationSymbol
configurationSymbol
);
}
\ No newline at end of file
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckActorCriticRequiresCriticNetwork.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckContinuousRLAlgorithmUsesContinuousStrategy.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckCriticNetworkHasExactlyAOneDimensionalOutput.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckCriticNetworkInputs.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
@@ -96,4 +102,4 @@ public class CheckCriticNetworkInputs implements CNNTrainConfigurationSymbolCoCo
}
}
}
}
}
\ No newline at end of file
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckDiscreteRLAlgorithmUsesDiscreteStrategy.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckEntryRepetition.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckFixTargetNetworkRequiresInterval.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckInteger.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckLearningParameterCombination.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckOUParameterDimensionEqualsActionDimension.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckReinforcementRequiresEnvironment.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckRlAlgorithmParameter.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckRosEnvironmentHasOnlyOneRewardSpecification.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckRosEnvironmentRequiresRewardFunction.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckTrainedRlNetworkHasExactlyOneInput.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/CheckTrainedRlNetworkHasExactlyOneOutput.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
@@ -26,4 +32,4 @@ public class CheckTrainedRlNetworkHasExactlyOneOutput implements CNNTrainConfigu
}
}
}
}
}
\ No newline at end of file
src/main/java/de/monticore/lang/monticar/cnntrain/_cocos/ParameterAlgorithmMapping.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._cocos
;
...
...
@@ -35,6 +41,7 @@ class ParameterAlgorithmMapping {
ASTNormalizeEntry
.
class
,
ASTNumEpochEntry
.
class
,
ASTLossEntry
.
class
,
ASTLossWeightsEntry
.
class
,
ASTSparseLabelEntry
.
class
,
ASTFromLogitsEntry
.
class
,
ASTMarginEntry
.
class
,
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/CNNTrainCompilationUnitSymbol.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._symboltable
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/CNNTrainLanguage.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._symboltable
;
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/CNNTrainSymbolTableCreator.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._symboltable
;
...
...
@@ -195,9 +201,15 @@ public class CNNTrainSymbolTableCreator extends CNNTrainSymbolTableCreatorTOP {
param
.
setValue
(
lossParamValue
);
configuration
.
getLoss
().
getLossParamMap
().
put
(
nodeParam
.
getName
(),
param
);
}
}
@Override
public
void
endVisit
(
ASTLossWeightsEntry
node
)
{
EntrySymbol
entry
=
new
EntrySymbol
(
node
.
getName
());
entry
.
setValue
(
getValueSymbolForDoubleVector
(
node
.
getValue
()));
addToScopeAndLinkWithNode
(
entry
,
node
);
configuration
.
getEntryMap
().
put
(
node
.
getName
(),
entry
);
}
@Override
public
void
endVisit
(
ASTLRPolicyValue
node
)
{
...
...
@@ -250,7 +262,8 @@ public class CNNTrainSymbolTableCreator extends CNNTrainSymbolTableCreatorTOP {
}
addToScopeAndLinkWithNode
(
value
,
node
);
}
private
ValueSymbol
getValueSymbolForInteger
(
ASTIntegerValue
astIntegerValue
)
{
ValueSymbol
value
=
new
ValueSymbol
();
Integer
value_as_int
=
getIntegerFromNumber
(
astIntegerValue
);
...
...
@@ -279,6 +292,13 @@ public class CNNTrainSymbolTableCreator extends CNNTrainSymbolTableCreatorTOP {
return
value
;
}
private
ValueSymbol
getValueSymbolForDoubleVector
(
ASTDoubleVectorValue
astDoubleVectorValue
)
{
ValueSymbol
value
=
new
ValueSymbol
();
List
<
Double
>
value_as_double_list
=
getDoubleVectorFromList
(
astDoubleVectorValue
);
value
.
setValue
(
value_as_double_list
);
return
value
;
}
private
ValueSymbol
getValueSymbolForComponentName
(
ASTComponentNameValue
astComponentNameValue
)
{
ValueSymbol
value
=
new
ValueSymbol
();
List
<
String
>
valueAsList
=
astComponentNameValue
.
getNameList
();
...
...
@@ -309,6 +329,14 @@ public class CNNTrainSymbolTableCreator extends CNNTrainSymbolTableCreatorTOP {
return
value2
.
isPresentTRUE
();
}
private
List
<
Double
>
getDoubleVectorFromList
(
ASTDoubleVectorValue
value
)
{
return
value
.
getNumberList
().
stream
()
.
filter
(
n
->
n
.
getNumber
().
isPresent
())
.
map
(
n
->
n
.
getNumber
().
get
())
.
collect
(
Collectors
.
toList
());
}
@Override
public
void
visit
(
ASTLearningMethodEntry
node
)
{
EntrySymbol
entry
=
new
EntrySymbol
(
node
.
getName
());
...
...
@@ -547,7 +575,7 @@ public class CNNTrainSymbolTableCreator extends CNNTrainSymbolTableCreatorTOP {
retrievePrimitiveValueByConfigValue
(
nodeParam
.
getValue
()));
}
}
private
Object
retrievePrimitiveValueByConfigValue
(
final
ASTConfigValue
configValue
)
{
if
(
configValue
instanceof
ASTIntegerValue
)
{
return
getIntegerFromNumber
((
ASTIntegerValue
)
configValue
);
...
...
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/ConfigurationSymbol.java
View file @
e32e7c81
/**
* (c) https://github.com/MontiCore/monticore
*
* The license generally applicable for this project
* can be found under https://github.com/MontiCore/monticore.
*/
/* (c) https://github.com/MontiCore/monticore */
package
de.monticore.lang.monticar.cnntrain._symboltable
;
...
...
@@ -103,4 +109,4 @@ public class ConfigurationSymbol extends CommonScopeSpanningSymbol {
assert
criticNameValue
instanceof
String
;
return
Optional
.
of
((
String
)
criticNameValue
);
}
}
}
\ No newline at end of file
src/main/java/de/monticore/lang/monticar/cnntrain/_symboltable/ConfigurationSymbolKind.java
View file @
e32e7c81