Commit graph

1970 commits

Author SHA1 Message Date
Wei-Sheng Chin
b38fc0d541
Add bias correction in Adam & Lamb for C++ frontend & python frontend (#3301) 2020-03-25 09:46:44 -07:00
Bowen Bao
6474801ceb
Update ort_trainer.py with lazy onnx export (#3244)
* Delay onnx export to avoid extra info

* handle cases where onnx model is provided at initialization

* address comments

* fix rebase error
2020-03-24 13:34:15 -07:00
Li-Wen Chang
98c28060b0
Aggregated Send/Recv (#3232)
* Aggregated Send/Recv

* fix typos

* CR refine

* CR refine

* CR refine

* Add scalar check.

* typo

* reformat

* CR refine

* Forgot to swap order in the implementation after spec changed

* CR refine

* Cr refine

* add Send's input type checking
2020-03-24 10:20:11 -07:00
KeDengMS
d15c74e713
Implement pipeline event generator (#3206)
Implement pipeline event generator with OneFWOneBW schedule in timeline. Each stage of pipeline contains FW and BW of a subset of the model and are scheduled in one worker thread for each microbatch.
2020-03-23 17:32:54 -07:00
Tixxx
7f610caca0
Make gradient clipping configurable. (#3243)
* Make gradient clipping configurable.
add control flag to c++ and python frontend
2020-03-23 12:21:48 -07:00
ytaous
5c52332223
unittests comments (#3278)
Co-authored-by: Ethan Tao <ettao@microsoft.com>
2020-03-20 11:56:50 -07:00
liqunfu
d521efd904
refactor frontend (#3235)
* refactor frontend

* remove training python files from inferencing build

* update according to reviewer's comments

* merge pybind_state.cc

* refactor pybind_state.cc

* code clean up

* missed a forward declaration in ort_pybind_state.cc

* passed pytest

* move training_session.py into a subfolder per reviewer's comment

* add copyright

Co-authored-by: liqun <liqun@OrtTrainingDev4.af05slrtruoetgaxwwjv5nsq5e.px.internal.cloudapp.net>
2020-03-19 20:59:41 -07:00
edgchen1
d9f628cb1d
Remove orttraining/tools/scripts/profile directory. (#3268) 2020-03-19 14:13:05 -07:00
ytaous
ca7985fd9f
Address PR comments (#3256)
* comments

* fix path

* fix path

Co-authored-by: Ethan Tao <ettao@microsoft.com>
2020-03-19 10:40:00 -07:00
edgchen1
61e8a24340
Address PR comments (#3255)
* Added comment for ntfw_remove().

* Rewrite WindowsEnv::DeleteFolder(), some other clean up.
2020-03-18 17:57:57 -07:00
edgchen1
d82f72e65c
Add ort_training build status file. (#3257) 2020-03-18 17:39:57 -07:00
Sherlock
03d14bae2b
Register ONNX Training Ops (#3252) 2020-03-18 12:36:57 -07:00
edgchen1
c5576d70a6
Fix build issues (#3214)
* Fixed issues with Python and inference-only build.

* Handle ImportError for training imports.

* fix windows build

* fix compile error

* fix centos build

* fix windows build

* fix compile error

* Use SafeInt for allocation calculation, fix typo.

Co-authored-by: Ethan Tao <ettao@microsoft.com>
2020-03-17 16:10:23 -07:00
Sherlock
4b2c8e884e
Udpate License Header (#3212) 2020-03-16 10:24:31 -07:00
Jesse Benson
3a7539e071 Update bert-base convergence values 2020-03-13 23:03:34 -07:00
Jesse Benson
dc11b82956 Tweak the dropout calculation. 2020-03-13 23:03:34 -07:00
Edward Chen
24793f5fc7 Revert change from RelWithDebInfo to Release in OnnxRuntime.CSharp.sln. 2020-03-12 16:51:45 -07:00
Zeeshan Siddiqui
2cad08bd60 Merged PR 5688: Upgrade ONNX submodule to the latest from github ONNX master.
We want to implement SoftmaxCrossentropy and NegativeLossLikelihoodLoss forward training ops for opset-12 but that requires ONNX submodule to point to the latest commit to have the latest and greatest ONNX spec!

- Reverse integrate changes from *.in.proto files in github ONNX repo.
- Regenerate csharp/test/Microsoft.ML.OnnxRuntime.Tests/OnnxMl.cs
- Disable ONNX tests that don't have op implementation for the latest opset.
2020-03-12 16:51:45 -07:00
Ethan Tao
2f1e997e5b Merged PR 5686: fix P100/fp16 issues
1. misaligned address in atomic_add()
2. GatherNDGradKernel to use atomic_add
3. enable/add UTs for GatherNDGrad and reduction_ops using half
- __CUDA_ARCH__ won't take effect on .cc code, leverage HasCudaEnvironment() instead
4. verified convergence graph and perf test
- p100 is much slower than v100 on fp16
- fp16/128 need to reduce batch size from 66 to 64 to avoid OOM issue
5. verify convergence test on Dev3/v100

TBD - broken UTs related to MatmulIntegerOpTest (works on v100/windows, though)
2020-03-12 16:51:45 -07:00
Ke Deng
75025461e2 Initial implementation of graph cut and pipeline
This is a draft of graph cut and wait/record to demonstrate cut and Wait/Record design. You may find sub models and profiling json under onnxruntime/test if you run "onnxruntime_test_all --gtest_filter=GradientGraphBuilderTest.TrainingSession_WithPipeline"
2020-03-12 16:51:45 -07:00
edgchen1
fa4dd51e3b
Add back orttraining-linux-gpu-inference-only-ci-pipeline.yml. (#3182) 2020-03-11 18:03:58 -07:00
Edward Chen
3af5a2a2cf Change Tensor::[Set]ByteOffset() to use ptrdiff_t. 2020-03-11 22:07:24 +00:00
Edward Chen
80dd62a240 Enable CI for training. 2020-03-11 14:41:32 -07:00
Edward Chen
e542cfd0e0 Introduce training changes. 2020-03-11 14:39:03 -07:00
Hariharan Seshadri
a912415bac
Support custom ops targeting the CUDA EP (#3165)
* Initial commit

* Minor nit

* Comment

* Fix build

* Fix build
2020-03-11 00:49:01 -07:00
Hariharan Seshadri
3464801c3e
Explicitly specify NugetPackage parameter while validating nuget in some release pipelines (#3139) 2020-03-10 15:14:09 -07:00
Yufeng Li
3de1fc096d
Move zero point inputs of MatmulInteger to CPU memory (#3159) 2020-03-10 13:56:23 -07:00
Tianlei Wu
51a8c82908
Update bert optimization script for SQuAD model exported by keras2onnx (#3163)
Update script to make it work on fine-tuned bert model exported by keras2onnx
2020-03-10 12:57:49 -07:00
Yufeng Li
876d0c5430
Make quantization parameters as constant weigth instead of overrideable (#3160) 2020-03-10 08:35:02 -07:00
Scott McKay
3d928de778
Use GEMM for LinearRegressor and LinearClassifier operators to improve performance (#3154) 2020-03-10 20:24:25 +10:00
Dmitri Smirnov
f87b6913cd
Add package download step before pushing to feeds (#3162)
Add package download step before publishing.
2020-03-09 14:32:18 -07:00
Changming Sun
6ed5d7c332
Update post_binary_sizes_to_dashboard.py (#3161)
Discussed with Faith, because the data size is very small and changes are gradual, there is no need to delete the old data. We want to keep all the history.
2020-03-09 13:21:58 -07:00
Tiago Koji Castro Shibata
a59243090a
Publish release symbols (#3152)
* Publish release symbols

* Publish symbols if IsReleaseBuild
2020-03-05 22:32:18 -08:00
Andrew Kane
781a6ebb06 Updated Ruby supported versions 2020-03-05 19:50:41 -08:00
pranavm-nvidia
cfd18b583a Help output typo fix
Fixes a typo in the help output for `symbolic_shape_infer`
2020-03-05 19:50:13 -08:00
Tianlei Wu
5be6665b86
Update Gelu Fusion to support new graph pattern from PyTorch 1.4 (#3148)
* update GeluFusion to support pattern from PyTorch 1.4; 
* Fix a bug that missing the check of an edge between mul2 and root.
* update script to fuse gelu from PyTorch 1.4
* Add test for python optimizer
2020-03-05 18:31:52 -08:00
Dmitri Smirnov
e2894c5ffb
Fix package name overrides (#3150)
Add env var with the package name.
2020-03-05 17:10:55 -08:00
Yufeng Li
1d2b8115e2
Support u8u8 in quantization tool (#3140) 2020-03-05 14:42:46 -08:00
KeDengMS
ade4fa108f
Disable delayload for cuda dlls (#3147)
This change fixes #3129. When running onnxruntime as dll on Windows, CUDA does some internal cleanups when process exits. After this, any call to CUDA would cause crash. Delayload makes thread_local destructor to happen after CUDA cleanup, thus the crash.
2020-03-05 14:40:22 -08:00
Dmitri Smirnov
2c446a7f2f
Add push to ORT-NIGHTLY. (#3146) 2020-03-05 11:38:22 -08:00
Yufeng Li
fbb658e603
Implement QuantizeLinear and DequantizeLinear (#3098)
* Implement QuantizeLinear and DequantizeLinear
2020-03-04 13:30:20 -08:00
take-cheeze
83753bcbe3 Suppress maybe uninitialized warning in gcc-9 2020-03-04 11:52:40 -08:00
Dmitri Smirnov
ef8768a53f
Override native package name. Preserve managed package name the same. (#3133)
Override native package name. Preserve managed package name the same.
  Specify pckage name for validation purposes.
 Fix up validation package name parameter.
2020-03-04 10:12:55 -08:00
Prabhat
a2eeb126b9
Optimised kernel_dot() in SVM op (#3135) 2020-03-04 16:30:40 +00:00
Tianlei Wu
9d874c1225
Add bert performance and correctness test tools (#3108)
(1) Add performance test tool for bert model.
(2) Add accuracy test tool to compare inference results of original and optimized bert models.
(3) Add test data generator tool to create test data for onnxruntime_perf_test.exe
(4) Improve bert optimization script: Verify model producer for model_type; Add warning if model is not fully optimized.
(5) Add shape optimizer tool to assist developing optimization script.
(6) Update readme.
2020-03-03 23:18:08 -08:00
Yufeng Li
84ad4eda8b
Implement MatmulInteger on GPU (#3070)
* Implement MatmulInteger
2020-03-03 16:36:33 -08:00
Changming Sun
12605f05d1
Fix CUDA PATH (#3131)
Previously, we put the "bin" folder of all the CUDA verions in the system PATH. And 10.2 is in the front. It's a mess.
So I've removed all of them from the system PATH env. But I need to add one of them back through build scripts.

(The problem only affect the C# test, not the C/C++ tests that forked from build.py).
2020-03-03 14:34:19 -08:00
smk2007
6cdd2b4934
Enable DML Nuget Package for x64 or x86 architectures (#3120)
* add dml gpu pipelines

* add x86 to the gpu dml dev build pipeline

* Enable DML x86 builds

* Fix uint64_t -> size_t warning

* fix warnings

* enable dml on x86 ci builds

* operatorHelper 773 error uint32_t vs uint64_t

* operatorHelper 773 error uint32_t vs uint64_t

* make x86 pipeline use the gpu pool

* more warnings

* fix x86 directml path

* make dml nuget package

* disable tf_pnasnet_large

* disable zfnet512

* make validation use wildcards

* disable x86 dml gpu tests

* add args.

* update gpu.yml

* change nupkg wildcard

* add debug statements

* package x86 dml nupkg

* dont drop managed nuget again from dml pipeline build

* Add DML EULA

* directml license should be renamed to not clobber the existing license

* casing on dml package....

* {} to ()

* fix license name

* disable dml from x86 ci

* typo and cr feedback

* remove featurizers

* ship the dml pdb as well
2020-03-02 20:18:46 -08:00
Dmitri Smirnov
e45326b5df
Create NuGet packaging pipeline for ORT Featurizers (#3125)
Create a new pipeline to publish ORT with Featurizers
  Update pipeline for two separate packages.
  Change package names.
2020-03-02 17:00:56 -08:00
Tracy Sharpe
b538cb7e46
NCHWc Upsample/Mul optimizations (#3116)
Extend the NCHWc layout optimizer to handle Resize(mode=nearest) and Mul.
2020-03-02 14:40:49 -08:00