Subreport: Logs for com.simiacryptus.ref.lang.ReferenceCountingBase
This is a network apply the following layout:
LayerTests.java:203 executed in 0.09 seconds (0.000 gc):
return Graphviz.fromGraph((Graph) TestUtil.toGraph(((DAGNetwork) layer).addRef())).height(400).width(600)
.render(Format.PNG).toImage();
executing command [/bin/sh, -c, dot -Tsvg /tmp/GraphvizJava/DotEngine8177677414763430545/dotfile.dot -ooutfile.svg]
Returns
Using Seed 1837408467246999552
Now we execute larger-scale runs to benchmark performance:
PerformanceTester.java:120 executed in 0.82 seconds (0.018 gc):
test(component == null ? null : component.addRef(), RefUtil.addRef(inputPrototype));
2 batch length, 5 trials
Input Dimensions:
[600, 600, 3]
Performance:
Evaluation performance: 0.010011s +- 0.004004s [0.007541s - 0.017981s]
Learning performance: 0.152814s +- 0.050533s [0.114528s - 0.248823s]
TestUtil.java:185 executed in 0.00 seconds (0.000 gc):
@Nonnull final RefMap<CharSequence, MonitoringWrapperLayer> metrics = new RefHashMap<>();
network.visitNodes(RefUtil.wrapInterface(node -> {
Layer nodeLayer = node.getLayer();
if (nodeLayer instanceof MonitoringWrapperLayer) {
@Nullable final MonitoringWrapperLayer layer = (MonitoringWrapperLayer) nodeLayer.addRef();
Layer inner = layer.getInner();
assert inner != null;
String str = inner.toString();
str += " class=" + inner.getClass().getName();
inner.freeRef();
RefUtil.freeRef(metrics.put(str, layer.addRef()));
layer.freeRef();
}
assert nodeLayer != null;
nodeLayer.freeRef();
node.freeRef();
}, metrics.addRef()));
RefSet<Map.Entry<CharSequence, MonitoringWrapperLayer>> temp_13_0018 = metrics.entrySet();
TestUtil.logger.info("Performance: \n\t" + RefUtil.orElse(temp_13_0018.stream()
.sorted(RefComparator.comparingDouble(new ToDoubleFunction<Map.Entry<CharSequence, MonitoringWrapperLayer>>() {
@Override
@RefIgnore
public double applyAsDouble(Map.Entry<CharSequence, MonitoringWrapperLayer> x) {
MonitoringWrapperLayer temp_13_0019 = x.getValue();
double temp_13_0002 = -temp_13_0019.getForwardPerformance().getMean();
temp_13_0019.freeRef();
RefUtil.freeRef(x);
return temp_13_0002;
}
})).map(e -> {
MonitoringWrapperLayer temp_13_0020 = e.getValue();
@Nonnull final PercentileStatistics performanceF = temp_13_0020.getForwardPerformance();
temp_13_0020.freeRef();
MonitoringWrapperLayer temp_13_0021 = e.getValue();
@Nonnull final PercentileStatistics performanceB = temp_13_0021.getBackwardPerformance();
temp_13_0021.freeRef();
String temp_13_0003 = RefString.format("%.6fs +- %.6fs (%d) <- %s", performanceF.getMean(),
performanceF.getStdDev(), performanceF.getCount(), e.getKey())
+ (performanceB.getCount() == 0 ? ""
: RefString.format("%n\tBack: %.6fs +- %.6fs (%s)", performanceB.getMean(), performanceB.getStdDev(),
performanceB.getCount()));
RefUtil.freeRef(e);
return temp_13_0003;
}).reduce((a, b) -> a + "\n\t" + b), "-"));
temp_13_0018.freeRef();
metrics.freeRef();
Performance:
0.006277s +- 0.001752s (5) <- ImgTileSubnetLayer class=com.simiacryptus.mindseye.layers.cudnn.ImgTileSubnetLayer
Back: 0.045597s +- 0.003148s (5)
0.004120s +- 0.000900s (5) <- SimpleConvolutionLayer class=com.simiacryptus.mindseye.layers.cudnn.conv.SimpleConvolutionLayer
Back: 0.045512s +- 0.003189s (5)
0.001639s +- 0.000282s (5) <- ImgConcatLayer class=com.simiacryptus.mindseye.layers.cudnn.ImgConcatLayer
Back: 0.001938s +- 0.000424s (5)
LayerTests.java:425 executed in 0.00 seconds (0.000 gc):
throwException(exceptions.addRef());
class | result |
---|---|
com.simiacryptus.mindseye.test.unit.PerformanceTester | OK |
{
"result": "OK",
"performance": {
"execution_time": "1.196",
"gc_time": "0.184"
},
"created_on": 1586746080665,
"file_name": "perfTest",
"report": {
"simpleName": "BandLimit",
"canonicalName": "com.simiacryptus.mindseye.layers.cudnn.conv.ConvolutionLayerTest.BandLimit",
"link": "https://github.com/SimiaCryptus/mindseye-cudnn/tree/59d5b3318556370acb2d83ee6ec123ce0fc6974f/src/test/java/com/simiacryptus/mindseye/layers/cudnn/conv/ConvolutionLayerTest.java",
"javaDoc": ""
},
"archive": "s3://code.simiacrypt.us/tests/com/simiacryptus/mindseye/layers/cudnn/conv/ConvolutionLayer/BandLimit/perfTest/202004134800",
"id": "8887efa7-5153-41ec-8166-a9f10915a22a",
"report_type": "Components",
"display_name": "Performance",
"target": {
"simpleName": "ConvolutionLayer",
"canonicalName": "com.simiacryptus.mindseye.layers.cudnn.conv.ConvolutionLayer",
"link": "https://github.com/SimiaCryptus/mindseye-cudnn/tree/59d5b3318556370acb2d83ee6ec123ce0fc6974f/src/main/java/com/simiacryptus/mindseye/layers/cudnn/conv/ConvolutionLayer.java",
"javaDoc": ""
}
}