Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
E
EMADL2CPP
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
2
Issues
2
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
1
Merge Requests
1
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Test Cases
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
monticore
EmbeddedMontiArc
generators
EMADL2CPP
Commits
e0c69fe7
Commit
e0c69fe7
authored
Mar 07, 2019
by
nilsfreyer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modified Network, tests, data
parent
95f0b1eb
Pipeline
#109873
failed with stage
in 2 minutes and 25 seconds
Changes
12
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
12 additions
and
178 deletions
+12
-178
src/test/java/de/monticore/lang/monticar/emadl/IntegrationCaffe2Test.java
.../monticore/lang/monticar/emadl/IntegrationCaffe2Test.java
+8
-8
src/test/resources/models/cNNCalculator/Add.emadl
src/test/resources/models/cNNCalculator/Add.emadl
+0
-12
src/test/resources/models/cNNCalculator/ArgMax.emadl
src/test/resources/models/cNNCalculator/ArgMax.emadl
+0
-19
src/test/resources/models/cNNCalculator/Calculator.emadl
src/test/resources/models/cNNCalculator/Calculator.emadl
+0
-44
src/test/resources/models/cNNCalculator/Connector.emadl
src/test/resources/models/cNNCalculator/Connector.emadl
+0
-38
src/test/resources/models/cNNCalculator/DigitCombiner.emadl
src/test/resources/models/cNNCalculator/DigitCombiner.emadl
+0
-13
src/test/resources/models/cNNCalculator/Network.emadl
src/test/resources/models/cNNCalculator/Network.emadl
+3
-3
src/test/resources/models/cNNCalculator/VGG16.cnnt
src/test/resources/models/cNNCalculator/VGG16.cnnt
+0
-13
src/test/resources/models/cNNCalculator/VGG16.emadl
src/test/resources/models/cNNCalculator/VGG16.emadl
+0
-27
src/test/resources/models/data_paths.txt
src/test/resources/models/data_paths.txt
+1
-1
src/test/resources/training_data/test_lmdb/lock.mdb
src/test/resources/training_data/test_lmdb/lock.mdb
+0
-0
src/test/resources/training_data/train_lmdb/lock.mdb
src/test/resources/training_data/train_lmdb/lock.mdb
+0
-0
No files found.
src/test/java/de/monticore/lang/monticar/emadl/IntegrationCaffe2Test.java
View file @
e0c69fe7
...
...
@@ -41,13 +41,13 @@ import static org.junit.Assert.assertFalse;
public
class
IntegrationCaffe2Test
extends
AbstractSymtabTest
{
private
Path
vggTrainingHashFile
=
Paths
.
get
(
"./target/generated-sources-emadl/cNNCalculator/VGG16
.training_hash"
);
private
Path
netTrainingHashFile
=
Paths
.
get
(
"./target/generated-sources-emadl/cNNCalculator/Network
.training_hash"
);
private
void
createHashFile
()
{
try
{
vgg
TrainingHashFile
.
toFile
().
getParentFile
().
mkdirs
();
net
TrainingHashFile
.
toFile
().
getParentFile
().
mkdirs
();
List
<
String
>
lines
=
Arrays
.
asList
(
"7A7FBAC4E0AD84993C1C5F8B4F431055#D85A46E95F839BBEE22D9AC3E6A4BC5C#6BE4AED3D0DA1940B750FEA8088A7D21#6BE4AED3D0DA1940B750FEA8088A7D21"
);
Files
.
write
(
vgg
TrainingHashFile
,
lines
,
Charset
.
forName
(
"UTF-8"
));
Files
.
write
(
net
TrainingHashFile
,
lines
,
Charset
.
forName
(
"UTF-8"
));
}
catch
(
Exception
e
)
{
assertFalse
(
"Hash file could not be created"
,
true
);
...
...
@@ -56,7 +56,7 @@ public class IntegrationCaffe2Test extends AbstractSymtabTest {
private
void
deleteHashFile
()
{
try
{
Files
.
delete
(
vgg
TrainingHashFile
);
Files
.
delete
(
net
TrainingHashFile
);
}
catch
(
Exception
e
)
{
assertFalse
(
"Could not delete hash file"
,
true
);
...
...
@@ -74,13 +74,13 @@ public class IntegrationCaffe2Test extends AbstractSymtabTest {
public
void
testDontRetrain1
()
{
// The training hash is stored during the first training, so the second one is skipped
Log
.
getFindings
().
clear
();
String
[]
args
=
{
"-m"
,
"src/test/resources/models/"
,
"-r"
,
"cNNCalculator.
VGG16
"
,
"-b"
,
"CAFFE2"
};
String
[]
args
=
{
"-m"
,
"src/test/resources/models/"
,
"-r"
,
"cNNCalculator.
Network
"
,
"-b"
,
"CAFFE2"
};
EMADLGeneratorCli
.
main
(
args
);
//assertTrue(!
Log.getFindings().isEmpty());
assertTrue
(
Log
.
getFindings
().
isEmpty
());
Log
.
getFindings
().
clear
();
EMADLGeneratorCli
.
main
(
args
);
//
assertTrue(Log.getFindings().size() == 1);
assertTrue
(
Log
.
getFindings
().
size
()
==
1
);
assertTrue
(
Log
.
getFindings
().
get
(
0
).
getMsg
().
contains
(
"skipped"
));
deleteHashFile
();
...
...
@@ -92,7 +92,7 @@ public class IntegrationCaffe2Test extends AbstractSymtabTest {
Log
.
getFindings
().
clear
();
createHashFile
();
String
[]
args
=
{
"-m"
,
"src/test/resources/models/"
,
"-r"
,
"cNNCalculator.
VGG16
"
,
"-b"
,
"CAFFE2"
,
"-f"
,
"y"
};
String
[]
args
=
{
"-m"
,
"src/test/resources/models/"
,
"-r"
,
"cNNCalculator.
Network
"
,
"-b"
,
"CAFFE2"
,
"-f"
,
"y"
};
EMADLGeneratorCli
.
main
(
args
);
assertTrue
(
Log
.
getFindings
().
isEmpty
());
...
...
src/test/resources/models/cNNCalculator/Add.emadl
deleted
100644 → 0
View file @
95f0b1eb
package
cNNCalculator
;
component
Add
{
ports
in
Z
(
0
:
999
)
num1
,
in
Z
(
0
:
999
)
num2
,
out
Z
(
0
:
1998
)
sum
;
implementation
Math
{
sum
=
num1
+
num2
;
}
}
src/test/resources/models/cNNCalculator/ArgMax.emadl
deleted
100644 → 0
View file @
95f0b1eb
package
cNNCalculator
;
component
ArgMax
<
Z
(
1
:
oo
)
n
=
2
>{
ports
in
Q
^{
n
}
inputVector
,
out
Z
(
0
:
oo
)
maxIndex
,
out
Q
maxValue
;
implementation
Math
{
maxIndex
=
0
;
maxValue
=
inputVector
(
1
);
for
i
=
2
:
n
if
inputVector
(
i
)
>
maxValue
maxIndex
=
i
-
1
;
maxValue
=
inputVector
(
i
);
end
end
}
}
src/test/resources/models/cNNCalculator/Calculator.emadl
deleted
100644 → 0
View file @
95f0b1eb
package
cNNCalculator
;
component
Calculator
{
ports
in
Q
(
0
:
1
)^
10
in1_1
,
in
Q
(
0
:
1
)^
10
in1_2
,
in
Q
(
0
:
1
)^
10
in1_3
,
in
Q
(
0
:
1
)^
10
in2_1
,
in
Q
(
0
:
1
)^
10
in2_2
,
in
Q
(
0
:
1
)^
10
in2_3
,
out
Z
(
0
:
1998
)
out1
;
instance
ArgMax
<
10
>
number1_ones
;
instance
ArgMax
<
10
>
number1_tens
;
instance
ArgMax
<
10
>
number1_hundreds
;
instance
ArgMax
<
10
>
number2_ones
;
instance
ArgMax
<
10
>
number2_tens
;
instance
ArgMax
<
10
>
number2_hundreds
;
instance
DigitCombiner
number1
;
instance
DigitCombiner
number2
;
instance
Add
add
;
connect
in1_1
->
number1_hundreds
.
inputVector
;
connect
in1_2
->
number1_tens
.
inputVector
;
connect
in1_3
->
number1_ones
.
inputVector
;
connect
in2_1
->
number2_hundreds
.
inputVector
;
connect
in2_2
->
number2_tens
.
inputVector
;
connect
in2_3
->
number2_ones
.
inputVector
;
connect
number1_ones
.
maxIndex
->
number1
.
ones
;
connect
number1_tens
.
maxIndex
->
number1
.
tens
;
connect
number1_hundreds
.
maxIndex
->
number1
.
hundreds
;
connect
number2_ones
.
maxIndex
->
number2
.
ones
;
connect
number2_tens
.
maxIndex
->
number2
.
tens
;
connect
number2_hundreds
.
maxIndex
->
number2
.
hundreds
;
connect
number1
.
number
->
add
.
num1
;
connect
number2
.
number
->
add
.
num2
;
connect
add
.
sum
->
out1
;
}
src/test/resources/models/cNNCalculator/Connector.emadl
deleted
100644 → 0
View file @
95f0b1eb
package
cNNCalculator
;
component
Connector
{
ports
in
Z
(
0
:
255
)^{
1
,
28
,
28
}
image1
,
in
Z
(
0
:
255
)^{
1
,
28
,
28
}
image2
,
in
Z
(
0
:
255
)^{
1
,
28
,
28
}
image3
,
in
Z
(
0
:
255
)^{
1
,
28
,
28
}
image4
,
in
Z
(
0
:
255
)^{
1
,
28
,
28
}
image5
,
in
Z
(
0
:
255
)^{
1
,
28
,
28
}
image6
,
out
Z
(
0
:
1998
)
res
;
instance
Network
<
10
>
predictor1
;
instance
Network
<
10
>
predictor2
;
instance
Network
<
10
>
predictor3
;
instance
Network
<
10
>
predictor4
;
instance
Network
<
10
>
predictor5
;
instance
Network
<
10
>
predictor6
;
instance
Calculator
cal
;
instance
ArgMax
<
10
>
maxi
;
connect
image1
->
predictor1
.
image
;
connect
image2
->
predictor2
.
image
;
connect
image3
->
predictor3
.
image
;
connect
image4
->
predictor4
.
image
;
connect
image5
->
predictor5
.
image
;
connect
image6
->
predictor6
.
image
;
connect
predictor1
.
predictions
->
cal
.
in1_1
;
connect
predictor2
.
predictions
->
cal
.
in1_2
;
connect
predictor3
.
predictions
->
cal
.
in1_3
;
connect
predictor4
.
predictions
->
cal
.
in2_1
;
connect
predictor5
.
predictions
->
cal
.
in2_2
;
connect
predictor6
.
predictions
->
cal
.
in2_3
;
connect
cal
.
out1
->
res
;
}
src/test/resources/models/cNNCalculator/DigitCombiner.emadl
deleted
100644 → 0
View file @
95f0b1eb
package
cNNCalculator
;
component
DigitCombiner
{
ports
in
Z
(
0
:
9
)
hundreds
,
in
Z
(
0
:
9
)
tens
,
in
Z
(
0
:
9
)
ones
,
out
Z
(
0
:
999
)
number
;
implementation
Math
{
number
=
ones
+
10
*
tens
+
100
*
hundreds
;
}
}
src/test/resources/models/cNNCalculator/Network.emadl
View file @
e0c69fe7
package
cNNCalculator
;
component
Network
<
Z
(
2
:
oo
)
classes
=
10
>
{
component
Network
{
ports
in
Z
(
0
:
255
)^{
1
,
28
,
28
}
image
,
out
Q
(
0
:
1
)^{
classes
}
predictions
;
out
Q
(
0
:
1
)^{
10
}
predictions
;
implementation
CNN
{
image
->
...
...
@@ -12,7 +12,7 @@ component Network<Z(2:oo) classes = 10>{
Pooling
(
pool_type
=
"max"
,
kernel
=(
2
,
2
),
stride
=(
2
,
2
),
padding
=
"valid"
)
->
FullyConnected
(
units
=
500
)
->
Relu
()
->
FullyConnected
(
units
=
classes
)
->
FullyConnected
(
units
=
10
)
->
Softmax
()
->
predictions
...
...
src/test/resources/models/cNNCalculator/VGG16.cnnt
deleted
100644 → 0
View file @
95f0b1eb
configuration VGG16{
num_epoch:1
batch_size:64
normalize:true
load_checkpoint:false
optimizer:adam{
learning_rate:0.01
learning_rate_decay:0.8
step_size:1000
weight_decay: 0.01
}
}
src/test/resources/models/cNNCalculator/VGG16.emadl
deleted
100644 → 0
View file @
95f0b1eb
package
cNNCalculator
;
component
VGG16
{
ports
in
Z
(
0
:
255
)^{
1
,
28
,
28
}
image
,
out
Q
(
0
:
1
)^{
10
}
predictions
;
implementation
CNN
{
def
conv
(
filter
,
channels
){
Convolution
(
kernel
=(
filter
,
filter
),
channels
=
channels
)
->
Relu
()
}
def
fc
(){
FullyConnected
(
units
=
100
)
->
Relu
()
->
Dropout
(
p
=
0.5
)
}
image
->
conv
(
filter
=
2
,
channels
=
64
,
->=
2
)
->
Pooling
(
pool_type
=
"max"
,
kernel
=(
2
,
2
),
stride
=(
1
,
1
))
->
fc
()
->
FullyConnected
(
units
=
10
)
->
Softmax
()
->
predictions
}
}
src/test/resources/models/data_paths.txt
View file @
e0c69fe7
cifar10.CifarNetwork src/test/resources/training_data
cNNCalculator.
VGG16
src/test/resources/training_data
cNNCalculator.
Network
src/test/resources/training_data
MultipleOutputs data/MultipleOutputs
InstanceTest.NetworkB data/InstanceTest.NetworkB
Alexnet data/Alexnet
...
...
src/test/resources/training_data/test_lmdb/lock.mdb
View file @
e0c69fe7
No preview for this file type
src/test/resources/training_data/train_lmdb/lock.mdb
View file @
e0c69fe7
No preview for this file type
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment