Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move visulazition from dllib.utils to dllib #4498

Merged
merged 1,079 commits into from
Aug 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1079 commits
Select commit Hold shift + click to select a range
a692029
fix: the inference performance regression of mkldnn (#2622)
i8run Aug 27, 2018
a7f3633
fix: style check errors (#2625)
i8run Aug 28, 2018
0e58ce5
[new feature]Hit Ratio and NDCG (#2623)
qiuxin2012 Aug 31, 2018
cb68ba5
[new feature]Parallel Adam (#2626)
qiuxin2012 Sep 3, 2018
139b068
feat: training ResNet50 w/ dnn backend on Spark. (#2624)
i8run Sep 3, 2018
3b1fabc
feat: add dnn vgg model. (#2627)
i8run Sep 10, 2018
953a740
Fix issue 2592 (#2629)
megaSpoon Sep 18, 2018
2b56585
feat: add example for lenet w/ dnn (#2635)
i8run Sep 28, 2018
2cea870
fix join table will throw exception during backward if batchsize is c…
qiuxin2012 Sep 30, 2018
2bf9b7d
change Reshape to InferReShape in reshapeLoadTF (#2637)
megaSpoon Oct 9, 2018
9675578
feature: vgg-16 with mkldnn backend (#2631)
i8run Oct 9, 2018
f831f7f
Refine the synchronizer to support prioirty and also make it event dr…
wzhongyuan Oct 9, 2018
ad63598
perf: need not narrow the gradients and zero gradients for dnn backen…
i8run Oct 9, 2018
e69be14
fix break unit test (#2642)
yiheng-wang-intel Oct 9, 2018
1190aef
New parallel optimizer (#2643)
wzhongyuan Oct 11, 2018
1319cce
Fix transfer learning (#2645)
megaSpoon Oct 12, 2018
4d72a35
remove potential performance downgrader (#2651) (#2652)
yiheng-wang-intel Oct 13, 2018
62903f7
abstractify tests with common spark lifecycle (#2654)
Oct 18, 2018
067885b
bump version to 0.8.0-SNAPSHOT (#2660)
wzhongyuan Oct 22, 2018
11b7e4f
[Enhancement] - Deco legacy transformers and train InceptionV1 to mee…
wzhongyuan Oct 23, 2018
a310b41
Add python API for new transformers and apply them in inception train…
wzhongyuan Oct 23, 2018
09426ab
fix: uuid() will return a new uuid every call (#2667)
i8run Oct 26, 2018
c3482aa
[Bug Fix] Fix predictor issue while batch size == 1 for some topology…
wzhongyuan Oct 29, 2018
50ba9d5
AND/OR compound triggers support (#2675)
abdolence Nov 1, 2018
b9ed346
add dnn graph (#2666)
zhangxiaoli73 Nov 7, 2018
84b0f31
Update README.md (#2681)
qiuxin2012 Nov 9, 2018
8fbe6bc
Fix ut failed due to duplicated spark context (#2687)
qiuxin2012 Nov 23, 2018
4f0f7a3
add no phase api when initPrimitives (#2686)
zhangxiaoli73 Nov 23, 2018
1b8518d
improve memoryReorder layer to handle conversion between nhwc and nch…
zhangxiaoli73 Nov 23, 2018
04e9fd1
support same padding in dnn layer (#2684)
zhangxiaoli73 Nov 26, 2018
1610255
add BlasWrapper (#2690)
zhangxiaoli73 Nov 30, 2018
a222ff1
add dnn output layer (#2691)
zhangxiaoli73 Nov 30, 2018
be2c080
Irelement (#2695)
zhangxiaoli73 Dec 5, 2018
a654ede
support dlclassifiermodel binary classification (#2705)
qiuxin2012 Dec 13, 2018
ad71d05
add IR graph and conversion from IR graph to blas graph or dnn graph …
zhangxiaoli73 Dec 25, 2018
137c4c4
update latest weight for validation (#2710)
wzhongyuan Dec 25, 2018
92bc2f4
convert static graph to IR graph and build (#2711)
zhangxiaoli73 Jan 7, 2019
a839914
[Enhancement] - Enhance unig test to avoid dynamic resource allocatio…
wzhongyuan Jan 7, 2019
9b14e7a
add Trigger and/or python API (#2682)
qiuxin2012 Jan 9, 2019
499449c
update sparse tensor's document (#2714)
qiuxin2012 Jan 11, 2019
101fb2e
Reserve all state in OptimMethod when calling Optimizer.optimize() mu…
zhangxiaoli73 Jan 14, 2019
4f2ab72
fix: move mkldnn computing to a single thread pool (#2724)
i8run Jan 31, 2019
0479e0d
add ceilMode for Pooling & fix batchNorm evaluate (#2708)
zhangxiaoli73 Feb 15, 2019
87c4035
fix IRGraph init & Add regualizer (#2736)
zhangxiaoli73 Feb 18, 2019
154c96e
fix: update mkldnn version to v0.17 issues. (#2712)
i8run Feb 19, 2019
67852a5
add computshape for some layers and add skip primitives in DnnGraph (…
zhangxiaoli73 Feb 27, 2019
3622a4c
include edge case to cover all the data types (#2742)
LeicongLi Mar 8, 2019
6f15180
layer auto fusion for dnn graph (#2746)
zhangxiaoli73 Mar 8, 2019
92c3617
refactor predict for dnn model (#2737)
zhangxiaoli73 Mar 12, 2019
111f34f
remove some unit tests (#2752)
zhangxiaoli73 Mar 12, 2019
641ec16
remove some conflict tests (#2753)
zhangxiaoli73 Mar 13, 2019
a37007b
Fix Add operation error when type is Double importing Tensorflow grap…
emartinezs44 Mar 13, 2019
096c82f
feature: add byte supports for DnnTensor (#2751)
i8run Mar 13, 2019
c4b0a88
[New Feature] Calculating Scales (#2750)
LeicongLi Mar 13, 2019
a17db5d
recursively update mask for container module (#2754)
LeicongLi Mar 13, 2019
a0f7a20
[Enhancement] - Speed up BlasWrapper performance under MKL-DNN (#2748)
zhangxiaoli73 Mar 14, 2019
9ca91af
change asInstanceOf to toDistirbuted in optimizer (#2755)
qiuxin2012 Mar 16, 2019
84a9b57
convert scale in blas to dnn (#2758)
zhangxiaoli73 Mar 16, 2019
4f7aa88
feat: reorder for int8 supports (#2756)
i8run Mar 17, 2019
5221687
fix conversion accuracy (#2760)
zhangxiaoli73 Mar 18, 2019
21220ef
feature: layer wise supports of int8 (#2762)
i8run Mar 18, 2019
9efa5c7
feature: mkldnn int8 layer wise supports (#2759)
i8run Mar 19, 2019
224ab0d
change some docs about mkldnn (#2765)
zhangxiaoli73 Mar 19, 2019
bf21a5f
examples for int8 (#2761)
i8run Mar 19, 2019
173494a
enable fustion by default (#2766)
wzhongyuan Mar 20, 2019
5159c20
fix: the influence of default value of fusion (#2768)
i8run Mar 21, 2019
e2ccee2
fix: use too much memory of mkldnn models (#2783)
i8run Mar 25, 2019
b10f87d
fix: inplace of input/output and weight dimension error (#2779)
i8run Mar 25, 2019
19f4842
fix: the blas wrapper has no scales (#2778)
i8run Mar 25, 2019
ddbf390
fix softmax (#2777)
zhangxiaoli73 Mar 25, 2019
dafb8c9
fix: performance regression on resnet50 (#2774)
i8run Mar 25, 2019
95484f4
fix log init (#2781)
zhangxiaoli73 Mar 26, 2019
d6d1d82
fix: dropout should init primitive (#2789)
i8run Mar 26, 2019
bd9ede2
flip to 0.9.0 (#2792)
wzhongyuan Apr 4, 2019
28d2a87
test: should compare the right grad input (#2794)
i8run Apr 19, 2019
6362f91
fix the wrong error message (#2800)
yaochitc Apr 24, 2019
10ace97
[New feature] Add attention layer and ffn layer (#2795)
zhangxiaoli73 Apr 26, 2019
5d7704f
[New feature & fix] Add layer-wise adaptive rate scaling optimizer (#…
Menooker May 5, 2019
fc6fe9b
bugfix - set mask for container (#2807)
LeicongLi May 10, 2019
1b73a78
[Enhancement]: Scala Reflection: get default value for constructor pa…
LeicongLi May 13, 2019
45d9435
replace randomcropper with centercrop for better performance (#2818)
wzhongyuan May 15, 2019
2d69d3b
fix: memory data hash code should contain data type (#2821)
i8run May 20, 2019
2477045
Optimize backward graph generation and CAddTable (#2817)
zhangxiaoli73 May 21, 2019
fd1e43f
add layer norm and expand size layers (#2819)
zhangxiaoli73 May 22, 2019
407467a
feat: enable global average pooling (#2823)
i8run May 24, 2019
d8020cc
Optimizers: use member variable in parent class
Menooker May 24, 2019
7869653
Revert "Optimizers: use member variable in parent class"
Menooker May 24, 2019
501a577
Dilation in MKL-DNN Convolution (#2815)
LeicongLi May 27, 2019
89bfe23
fix: calculate arbitrary mask of scales (#2822)
i8run May 27, 2019
3ade404
Use one AllReduceParameter for multi-optim method training (#2814)
Menooker Jun 4, 2019
eeefe91
[New feature] add transformer layer (#2825)
zhangxiaoli73 Jun 4, 2019
c0d1b9a
[Bug Fix] Fix Issue 2734 (#2816)
LeicongLi Jun 6, 2019
b5b7bbd
[Refactor] Reflection Utilization (#2831)
LeicongLi Jun 10, 2019
07bc5e1
feat: MKLDNN LSTM unidirectional/bidirectional inference support (#2806)
mengceng15 Jun 11, 2019
e45cbbc
bug fix for cmul (#2836)
zhangxiaoli73 Jun 12, 2019
6303757
set new storage to weight and bias for weight fusion (#2839)
zhangxiaoli73 Jun 17, 2019
97856e0
Add parameter processor for LARS (#2832)
Menooker Jun 21, 2019
3c5499d
Add transformer to LM example (#2835)
zhangxiaoli73 Jun 24, 2019
5180487
feat: MKLDNN LSTM unidirectional/bidirectional backward support (#2840)
mengceng15 Jun 27, 2019
97493dc
fix: require consistent between shape and layout of mkldnn (#2824)
i8run Jun 28, 2019
51a89bb
fix: fusion for multi-group of convolution (#2826)
i8run Jun 30, 2019
ae15852
fix: support int8 of jointable (#2827)
i8run Jul 1, 2019
975442f
fix: invokeAndWait2 should throw the exception in the tasks (#2843)
i8run Jul 1, 2019
1715572
fix acc bug & init dnn thread (#2841)
zhangxiaoli73 Jul 1, 2019
37c326c
support tnc and ntc conversion (#2844)
zhangxiaoli73 Jul 1, 2019
5f99704
support ntc in dnn layer (#2847)
zhangxiaoli73 Jul 3, 2019
0db8fff
[WIP]Add beam search feature in transformer model (#2834)
majing921201 Jul 6, 2019
f2d1746
feat: add a property to disable omp thread affinity (#2849)
i8run Jul 10, 2019
be8232d
fix: use treeset to calc topk to upgrade the performance of Detection…
i8run Jul 10, 2019
dd4867c
fix: wrong affinity settings (#2857)
i8run Jul 10, 2019
9e7d51f
update beam search feature for interface with transformer model (#2855)
majing921201 Jul 10, 2019
d7c3b3a
Support converting blas lstm to dnn lstm (#2846)
zhangxiaoli73 Jul 10, 2019
b7f259e
fix load lstm error bug (#2858)
zhangxiaoli73 Jul 10, 2019
c063327
Add beam search in transformer (#2856)
zhangxiaoli73 Jul 11, 2019
047a0c7
fix: upgrade the performance of normalize (#2854)
i8run Jul 11, 2019
1454ccd
feat: add axis to softmax (#2859)
i8run Jul 11, 2019
2b84fd7
flip version to 0.10.0 (#2869)
wzhongyuan Jul 22, 2019
c32969b
[Bug Fix] - Fix module version comparison (#2871)
wzhongyuan Jul 26, 2019
00f270d
convert IRgraph momentum to mkldnn (#2872)
zhangxiaoli73 Aug 8, 2019
ccc6a4f
feat: RoiAlign Forward (#2874)
mengceng15 Aug 16, 2019
2988363
Add set input output format API in Python (#2880)
jenniew Aug 16, 2019
9a912cd
feat: Feature Pyramid Networks Forward (#2870)
mengceng15 Aug 21, 2019
baf985a
fix memory leak for ir graph training (#2895)
zhangxiaoli73 Aug 26, 2019
41ad87b
add gemm layer (#2882)
LeicongLi Aug 26, 2019
2adcaf1
add Shape layer (#2885)
LeicongLi Aug 26, 2019
8b4a29c
add Gather layer (#2897)
LeicongLi Aug 26, 2019
ef30ddd
[New feature] Add maskhead (#2892)
zhangxiaoli73 Aug 30, 2019
06f59de
fix unit tests (#2905)
zhangxiaoli73 Sep 2, 2019
80fccde
modify predict/predictClass function (#2868)
lingxiao1989 Sep 6, 2019
fde4aff
[New feature] Add Boxhead (#2894)
zhangxiaoli73 Sep 9, 2019
8b73c47
fix: Add TopBlocks to Feature Pyramid Networks (FPN) (#2899)
mengceng15 Sep 10, 2019
59e842c
Add Mean Average Precision validation method (#2906)
Menooker Sep 10, 2019
1e8aad9
fix boxhead unit tests (#2912)
zhangxiaoli73 Sep 10, 2019
713a9f0
python api nested list input and pooler python api (#2900)
Sep 12, 2019
b217459
Auto memory management for MKLDNN (#2867)
Menooker Sep 16, 2019
7987cc7
[New feature] Add region proposal (#2896)
zhangxiaoli73 Sep 17, 2019
d519375
[New feature] add maskrcnn (#2908)
zhangxiaoli73 Sep 24, 2019
bf7fd00
Add Onnx Supported Layers (#2902)
LeicongLi Sep 24, 2019
509ac67
Update RoiLabel class and add RoiImageFeatureToBatch (#2913)
Menooker Sep 25, 2019
9f86fa0
feat: MKLDNN GRU forward/backward support (#2893)
mengceng15 Sep 26, 2019
6a9041e
Onnx support: modify unsqueeze function (#2910)
lingxiao1989 Sep 30, 2019
01f54ee
add maskutils (#2921)
Menooker Oct 8, 2019
1f3d5d3
Fix memory leaks on training (#2914)
Menooker Oct 10, 2019
bbf4672
support samples with different size to one mini batch (#2929)
zhangxiaoli73 Oct 11, 2019
27f727e
support batch for mask head and pooler (#2926)
zhangxiaoli73 Oct 12, 2019
cd53093
Onnx support: add a dim parameter to ops.Gather (#2920)
lingxiao1989 Oct 14, 2019
6494d2d
support batch for regionproposal (#2928)
zhangxiaoli73 Oct 16, 2019
e8d98df
enable gru blas-to-dnn conversion (#2930)
mengceng15 Oct 16, 2019
94b914c
Onnx support: add pos parameter to softmax (#2933)
lingxiao1989 Oct 18, 2019
bc54507
Add resize for segmentation (#2923)
zhangxiaoli73 Oct 22, 2019
f44f7d8
support batch input for boxhead (#2924)
zhangxiaoli73 Oct 22, 2019
5c8c56c
COCO SeqFile (#2927)
Menooker Oct 22, 2019
427e238
ONNX Support (#2918)
LeicongLi Oct 22, 2019
513ec30
feat: add precision recall auc (#2941)
i8run Oct 24, 2019
3e4684a
add post processing for maskrcnn model (#2931)
zhangxiaoli73 Oct 24, 2019
05f043f
fix TimeDistributedCriterion() lack of parameter of dimension issue (…
lingxiao1989 Oct 24, 2019
4fea042
revert back api (#2943)
wzhongyuan Oct 24, 2019
9d5b1f6
fix: softmax and bn+scale fusion (#2937)
i8run Oct 24, 2019
5a76cc4
feat: multi models support with MKL-DNN backend (#2936)
i8run Oct 26, 2019
3eb6203
add COCO MAP (#2935)
Menooker Oct 27, 2019
5248f99
COCO Seq file reader: grey to bgr (#2942)
Menooker Oct 28, 2019
c08b801
Add the flushing denormal values option on BigDL side (#2934)
mengceng15 Oct 28, 2019
9df2106
add no argument apply api for softmax (#2945)
lingxiao1989 Oct 28, 2019
6ef00e6
add maskrcnn inference example (#2944)
zhangxiaoli73 Oct 28, 2019
d729ee3
Update the RoiLabel and MTImageFeatureToBatch (#2925)
Menooker Oct 28, 2019
ca74668
Python MKLDNN examples for CNN(LeNet) and RNN(LSTM) (#2932)
mengceng15 Oct 28, 2019
b91a591
fix: takeSample only works for dnn backend and get one batch (#2947)
i8run Oct 28, 2019
7b750c5
Rename filesToRoiImageFrame to filesToRoiImageFeatures (#2949)
Menooker Oct 29, 2019
a2c8856
fix: move out setMklThreads of MklDnn (#2950)
i8run Oct 29, 2019
a445efa
memory data cleanup (#2956)
LeicongLi Nov 12, 2019
7ebb005
Onnx support: RoiAlign and TopK parameter update (#2957)
lingxiao1989 Nov 15, 2019
44b118f
remove masks requirements (#2959)
zhangxiaoli73 Nov 18, 2019
1cd740f
fix: the squeeze should not be included in IRElement (#2962)
i8run Nov 19, 2019
cc2e030
enhance COCODataset (#2954)
Menooker Nov 20, 2019
b8d1946
typo fix (#2965)
mengceng15 Nov 20, 2019
acf3294
rename RoiImageFeatureToBatch APIs (#2964)
Menooker Nov 25, 2019
814b4d4
RoiMiniBatch enhancement (#2953)
Menooker Nov 25, 2019
2c6932b
feat: add softmax backward (#2967)
i8run Nov 26, 2019
534cfb5
fix: fuse bn scale and relu to bn. (#2966)
i8run Nov 27, 2019
1b21602
fix mask unit tests (#2973)
zhangxiaoli73 Nov 29, 2019
4f0eb56
fix: nms stability when using treeset. (#2972)
i8run Nov 29, 2019
76646c5
flip version to 0.11 (#2974)
wzhongyuan Nov 30, 2019
95be1c8
refactor anchor generator (#2963)
zhangxiaoli73 Dec 2, 2019
222f20b
ROIAlign refactor (#2960)
zhangxiaoli73 Dec 2, 2019
56b348c
fix model load of maskrcnn (#2961)
zhangxiaoli73 Dec 2, 2019
cf17034
support roialign backward (#2975)
zhangxiaoli73 Dec 6, 2019
815f473
fix: bn nhwc error, the channel should be the last dim (#2981)
i8run Dec 12, 2019
642aa56
refactor: move torch relevants unit tests to integration tests. (#2971)
i8run Dec 17, 2019
c0eca03
fix: enable integration accuracy tests (#2976)
i8run Dec 17, 2019
dde6514
fix: softmax dnn backend wrong order of primitive (#2986)
i8run Dec 23, 2019
bb078f0
modify TextClassifier.scala (#2987)
lival Dec 25, 2019
15ecfb7
Add a method to merge nested StaticGraphs (#2985)
mengceng15 Jan 2, 2020
abe8f78
NHWC support when running with MKL-DNN (#2989)
zhangxiaoli73 Jan 7, 2020
ac48deb
Keras with MKL-DNN backend support (#2990)
mengceng15 Jan 8, 2020
ed05ebe
feat: add distri optimizer v2 (#2992)
i8run Mar 10, 2020
88d7bc7
update error message in AllReduceParameter (#2997)
dding3 Apr 9, 2020
9eee11f
use tensorflow proto jar (#2994)
yangw1234 Apr 15, 2020
e32d471
Remove final for AbstractModule (#3001)
Le-Zheng May 19, 2020
78c499e
DistriOptimizerV2 argument (#3003)
Le-Zheng May 27, 2020
da91c2b
fix inception (#3010)
qiuxin2012 Jun 4, 2020
0e08dd3
fix top1 and treenn (#3011)
qiuxin2012 Jun 9, 2020
3b1045a
remove final setExtraParameters (#3014)
qiuxin2012 Jun 18, 2020
88bb794
move pretrain in DistriOptimizerV2 (#3016)
qiuxin2012 Jun 19, 2020
1095286
deprecate dlframe (#3012)
Le-Zheng Jun 28, 2020
5864d2c
fix throughput (#3017)
Le-Zheng Jun 28, 2020
91945b0
test examples by distrioptimizerv2 (#3007)
Le-Zheng Jun 30, 2020
47186fb
deprecate nn.keras (#3013)
Le-Zheng Jun 30, 2020
63a21f3
fix loss when minibatch size is different (#3021)
qiuxin2012 Jul 1, 2020
63469b0
fix style check (#3022)
Le-Zheng Jul 1, 2020
d20b19e
flip version to 0.12 (#3029)
Le-Zheng Jul 14, 2020
543d457
fix KerasLayer new parameters() (#3034)
Le-Zheng Jul 20, 2020
6dc7798
Fix analytics zoo protobuf shading problem (#3033)
yangw1234 Jul 27, 2020
69ea3ea
add required dependencies (#3047)
Le-Zheng Aug 12, 2020
80272a7
[WIP] spark 3.0 (#3054)
Le-Zheng Sep 27, 2020
a523749
Update scala maven plugin (#3068)
Le-Zheng Nov 3, 2020
c0abe21
change to public (#3064)
jenniew Nov 11, 2020
922b320
Add big model support (#3067)
jenniew Nov 15, 2020
8c936d1
squeeze target dimension (corner case) in ClassNLLCriterion (#3072)
Le-Zheng Nov 16, 2020
660d75b
update message (#3073)
jenniew Nov 16, 2020
988589a
flip version to 0.13-snapshot (#3074)
Le-Zheng Nov 17, 2020
c0766dc
Uncompressed Tensor (#3079)
yangw1234 Nov 19, 2020
ab09628
hotfix ClassNLLCriterion with cloned target (#3081)
Le-Zheng Nov 23, 2020
04b1c14
Fix SerializationUtils clone issue of QuantizedTensor (#3088)
jenniew Dec 2, 2020
6e65667
add OptimPredictorShutdownSpec UT in integration test (#3089)
Le-Zheng Dec 3, 2020
985364a
move integration UT to a general test script (#3094)
Le-Zheng Dec 8, 2020
44bb32c
back port master (#3096)
Le-Zheng Dec 8, 2020
f924255
set seed to avoid random error in PredictionServiceUT (#3097)
Le-Zheng Dec 10, 2020
fdd615e
add serializeUid (#3099)
qiuxin2012 Dec 23, 2020
96969d6
update doc (#3104)
jenniew Jan 21, 2021
46e4980
remove DLFrames (#3124)
Le-Zheng May 25, 2021
0b63b9a
Add Utest about dividing zero (#3128)
DiegoCao Jun 2, 2021
6d46845
make default DistriOptimizer as V2 (#3129)
Le-Zheng Jun 22, 2021
18ba001
fix dlframe (#3133)
Le-Zheng Jun 24, 2021
538bfda
DistriOptimizerV2 logger (#3135)
Le-Zheng Jun 30, 2021
0c55dc9
move dlframe SharedParamsApater to AZ and roll back to OptimizerV1 (#…
Le-Zheng Jul 2, 2021
bcd6465
upgrade spark version (#3138)
Le-Zheng Jul 6, 2021
05e67e0
upgrade log4j (#3141)
Le-Zheng Jul 12, 2021
8762d9f
flip0.14 (#3142)
Le-Zheng Jul 12, 2021
8a438fe
Merge BigDL into upstream_bigdl-2.0
dding3 Aug 11, 2021
be4db7f
fix common compile issue
dding3 Aug 11, 2021
a401e2e
change dllib package name
dding3 Aug 11, 2021
857bb94
fix serization failure
dding3 Aug 11, 2021
25d02eb
fix FileSpec failure
dding3 Aug 12, 2021
64768c2
Merge branch 'bigdl-2.0' into upstream_bigdl-2.0
dding3 Aug 12, 2021
d3cc6ba
Merge pull request #4473 from dding3/upstream_bigdl-2.0
dding3 Aug 12, 2021
6ba64a2
Basic Structure of bigdl-nano (#4477)
leonardozcm Aug 16, 2021
8f2b13b
Bigdl-nano Trainer (#4488)
leonardozcm Aug 17, 2021
26ac5cc
Support pip install in bigdl-nano (#4492)
yangw1234 Aug 17, 2021
8d336f5
move visualiation from dllib.utils to dllib
dding3 Aug 17, 2021
651f68b
Merge branch 'bigdl-2.0' into move_visulazition
dding3 Aug 17, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import com.intel.analytics.bigdl.dllib.optim._
import com.intel.analytics.bigdl.dllib.utils._
import com.intel.analytics.bigdl.dllib.tensor.TensorNumericMath.TensorNumeric._
import com.intel.analytics.bigdl.utils._
import com.intel.analytics.bigdl.dllib.utils.visualization.{TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.dllib.visualization.{TrainSummary, ValidationSummary}
import org.apache.log4j.{Level, Logger}
import org.apache.spark.SparkContext

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import com.intel.analytics.bigdl.dllib.tensor.TensorNumericMath.TensorNumeric._
import com.intel.analytics.bigdl.dllib.utils.{T, Table}
import com.intel.analytics.bigdl.utils.{Engine, OptimizerV1, OptimizerV2}
import com.intel.analytics.bigdl.utils.LoggerFilter
import com.intel.analytics.bigdl.dllib.utils.visualization.{TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.dllib.visualization.{TrainSummary, ValidationSummary}
import org.apache.log4j.{Level, Logger}
import org.apache.spark.SparkContext

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import com.intel.analytics.bigdl.dllib.optim._
import com.intel.analytics.bigdl.utils.{Engine, MklBlas, MklDnn, OptimizerV1, OptimizerV2}
import com.intel.analytics.bigdl.dllib.utils._
import com.intel.analytics.bigdl.utils.LoggerFilter
import com.intel.analytics.bigdl.dllib.utils.visualization.TrainSummary
import com.intel.analytics.bigdl.dllib.visualization.TrainSummary
import org.apache.log4j.{Level, Logger}
import org.apache.spark.SparkContext

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import com.intel.analytics.bigdl.dllib.utils._
import com.intel.analytics.bigdl.dllib.utils.serializer._
import com.intel.analytics.bigdl.dllib.utils.serializer.converters.DataConverter
import com.intel.analytics.bigdl.dllib.utils.tf.Tensorflow
import com.intel.analytics.bigdl.dllib.utils.visualization.tensorboard.{FileWriter => TFFileWriter}
import com.intel.analytics.bigdl.dllib.visualization.tensorboard.{FileWriter => TFFileWriter}

import scala.collection.mutable
import scala.collection.mutable.ArrayBuffer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import com.intel.analytics.bigdl.dllib.tensor.TensorNumericMath.TensorNumeric
import com.intel.analytics.bigdl.dllib.utils.intermediate.IRGraph
import com.intel.analytics.bigdl.utils.{Engine, MklBlas, MklDnn}
import com.intel.analytics.bigdl.dllib.utils.{Table}
import com.intel.analytics.bigdl.dllib.utils.visualization.{TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.dllib.visualization.{TrainSummary, ValidationSummary}
import org.apache.spark.rdd.{RDD, ZippedPartitionsWithLocalityRDD}

import scala.reflect.ClassTag
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import com.intel.analytics.bigdl.dllib.tensor.Tensor
import com.intel.analytics.bigdl.dllib.tensor.TensorNumericMath.TensorNumeric
import com.intel.analytics.bigdl.dllib.utils._
import com.intel.analytics.bigdl.dllib.utils.intermediate.{ConversionUtils, IRGraph}
import com.intel.analytics.bigdl.dllib.utils.visualization.{TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.dllib.visualization.{TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.utils._
import com.intel.analytics.bigdl.{Module, _}
import java.io.{File, FilenameFilter}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import com.intel.analytics.bigdl.dllib.tensor.TensorNumericMath.TensorNumeric
import com.intel.analytics.bigdl.utils._
import com.intel.analytics.bigdl.dllib.utils._
import com.intel.analytics.bigdl.dllib.utils.intermediate.ConversionUtils
import com.intel.analytics.bigdl.dllib.utils.visualization.{TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.dllib.visualization.{TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.{Module, _}
import org.apache.log4j.Logger
import org.apache.spark.rdd.RDD
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import com.intel.analytics.bigdl.dllib.optim.parameters.{ConstantClippingProcess
L2NormClippingProcessor, ParameterProcessor}
import com.intel.analytics.bigdl.dllib.tensor.TensorNumericMath.TensorNumeric
import com.intel.analytics.bigdl.dllib.utils._
import com.intel.analytics.bigdl.dllib.utils.visualization.{TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.dllib.visualization.{TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.utils._
import org.apache.log4j.Logger
import org.apache.spark.rdd.RDD
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import com.intel.analytics.bigdl.dllib.tensor.Tensor
import com.intel.analytics.bigdl.dllib.tensor.TensorNumericMath.TensorNumeric
import com.intel.analytics.bigdl.dllib.utils._
import com.intel.analytics.bigdl.utils._
import com.intel.analytics.bigdl.dllib.utils.visualization.{TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.dllib.visualization.{TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.{Module, _}
import java.io.{File, FilenameFilter}
import java.text.SimpleDateFormat
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import com.intel.analytics.bigdl.dllib.optim.{Optimizer, _}
import com.intel.analytics.bigdl.dllib.tensor.{DenseType, SparseType, Storage, Tensor}
import com.intel.analytics.bigdl.dllib.tensor.TensorNumericMath.TensorNumeric
import com.intel.analytics.bigdl.dllib.utils.{Table, _}
import com.intel.analytics.bigdl.dllib.utils.visualization.{Summary, TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.dllib.visualization.{Summary, TrainSummary, ValidationSummary}
import com.intel.analytics.bigdl.utils._
import org.apache.spark.api.java.{JavaRDD, JavaSparkContext}
import org.apache.spark.rdd.RDD
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Visualization via Tensorboard

> This wheel distribution is provided by https://github.com/dmlc/tensorboard

> You can find the wheel repository at https://pypi.python.org/pypi/tensorboard

Please follow the instructions below to install TensorBoard; it has been tested on both Ubuntu and Mac OS. Please refer to the [Know Issues](https://github.com/122689305/BigDL/tree/readme/spark/dl/src/main/scala/com/intel/analytics/bigdl/visualization#known-issues) section for possible errors.

## Requirement

Python verison: 2.7, 3.4, 3.5, 3.6

Pip version >= 9.0.1

## Installation

### Python 2
```pip install tensorboard==1.0.0a4```
### Python 3
```pip3 install tensorboard==1.0.0a4```

## Known Issues

> #### 1. Issue: No compatible version of tensorboard

Solutions
* [Update](https://pip.pypa.io/en/stable/installing/) your pip version to the latest: https://pip.pypa.io/en/stable/installing/
*  Check whether your python support wide unicode if you use python 2.7
```
python -c 'import sys;print(sys.maxunicode)'
```
  It should output `1114111`

> #### 2. RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9

  Check your python library path (sys.path) to see whether it includes numpy module

> #### 3. RuntimeError: Cannot load some specific libraries, like '_pywrap_tensorflow.so'.

  Set your 'PATH' environment variable so that `$ which python` outputs the path of your python that has installed tensorboard.
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
/*
* Copyright 2016 The BigDL Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.intel.analytics.bigdl.dllib.visualization

import com.intel.analytics.bigdl.dllib.tensor.Tensor
import com.intel.analytics.bigdl.dllib.tensor.TensorNumericMath.TensorNumeric
import com.intel.analytics.bigdl.dllib.visualization.tensorboard.{FileWriter}
import org.tensorflow

import scala.reflect.ClassTag

/**
* Logger for tensorboard.
* Support scalar and histogram now.
* @param logDir
* @param appName
*/
abstract class Summary(
logDir: String,
appName: String) {
protected val writer: FileWriter

/**
* Add a scalar summary.
* @param tag tag name.
* @param value tag value.
* @param step current step.
* @return this
*/
def addScalar(
tag: String,
value: Float,
step: Long): this.type = {
writer.addSummary(
Summary.scalar(tag, value), step
)
this
}

/**
* Add a histogram summary.
* @param tag tag name.
* @param value a tensor.
* @param step current step.
* @return this
*/
def addHistogram[T: ClassTag](
tag: String,
value: Tensor[T],
step: Long)(implicit ev: TensorNumeric[T]): this.type = {
writer.addSummary(
Summary.histogram[T](tag, value), step
)
this
}

/**
* Read scalar values to an array of triple by tag name.
* First element of the triple is step, second is value, third is wallclocktime.
* @param tag tag name.
* @return an array of triple.
*/
def readScalar(tag: String): Array[(Long, Float, Double)]

/**
* Close this logger.
*/
def close(): Unit = {
writer.close()
}
}

object Summary {

/**
* Create a scalar summary.
* @param tag tag name
* @param scalar scalar value
* @return
*/
def scalar(tag: String, scalar : Float): tensorflow.framework.Summary = {
val v = tensorflow.framework.Summary.Value.newBuilder().setTag(tag).setSimpleValue(scalar)
tensorflow.framework.Summary.newBuilder().addValue(v).build()
}

private val limits = makeHistogramBuckets()

/**
* Create a histogram summary.
* @param tag tag name.
* @param values values.
* @return
*/
def histogram[T: ClassTag](
tag: String,
values: Tensor[T])(implicit ev: TensorNumeric[T]): tensorflow.framework.Summary = {
val counts = new Array[Int](limits.length)

var squares = 0.0
values.apply1{value =>
val v = ev.toType[Double](value)
squares += v * v
val index = bisectLeft(limits, v)
counts(index) += 1
value
}

val histogram = tensorflow.framework.HistogramProto.newBuilder()
.setMin(ev.toType[Double](values.min()))
.setMax(ev.toType[Double](values.max()))
.setNum(values.nElement())
.setSum(ev.toType[Double](values.sum()))
.setSumSquares(squares)

var i = 0
while (i < counts.length) {
if (counts(i) != 0) {
histogram.addBucket(counts(i))
histogram.addBucketLimit(limits(i))
}
i += 1
}
val v = tensorflow.framework.Summary.Value.newBuilder().setTag(tag).setHisto(histogram)
tensorflow.framework.Summary.newBuilder().addValue(v).build()
}

/**
* Find a bucket for x.
*/
private def bisectLeft(
a: Array[Double],
x: Double,
lo: Int = 0,
hi: Int = -1): Int = {
require(lo >= 0)
var high = if (hi == -1) {
a.length
} else {
hi
}
var low = lo

while (low < high) {
val mid = (low + high) / 2
if (a(mid) < x) {
low = mid + 1
} else {
high = mid
}
}
low
}

/**
* Create a histogram buckets.
* @return
*/
private def makeHistogramBuckets(): Array[Double] = {
var v = 1e-12
val buckets = new Array[Double](1549)
var i = 1
buckets(774) = 0.0
while (i <= 774) {
buckets(774 + i) = v
buckets(774 - i) = -v
v *= 1.1
i += 1
}
buckets
}

}
Loading