pytorch/caffe2/python
Yiming Wu 4fefff0bbb Auto injecting device copy for single net and several nets
Summary:
This diff plan to attack the problem where we want to just annotate device option for operators and leave Caffe2 to help us inject cross device copy functions. This feature would be useful for mixed device training and multi device training with several nets, where previously we do the heavy lifting of adding copy functions ourselves.

Ideally, this feature will happen like this:

      //construct your nets first
      core.InjectDeviceCopyAmongNets([train_init, train_net, ...])

My ideas are written in comments. I will update them here as well later.

Reviewed By: dzhulgakov

Differential Revision: D5134103

fbshipit-source-id: 173f7da9d1773d1c50ccdc27f1b5cd3067b04af5
2017-06-07 20:03:18 -07:00
..
docs fixed operators schema output to work from only this file for OSS 2017-06-02 13:47:25 -07:00
examples Fixes range/xrange for Python 3 2017-06-07 00:04:26 -07:00
helpers add_helper_function_ElementwiseLinear_op 2017-06-07 13:49:48 -07:00
layers Feature importance in dper 2.0: build network representation 2017-06-05 18:03:34 -07:00
mint doxygen python block added 2017-03-29 06:46:16 -07:00
mkl MKL related files with review comments incorporated 2017-04-25 00:31:29 -07:00
modeling Create ParameterSharing abstraction for Caffe2. 2017-06-05 11:49:54 -07:00
models Fixes zip/izip for Python 3 2017-06-07 00:04:26 -07:00
operator_test Implement APMeter op 2017-06-07 15:03:04 -07:00
predictor Feature importance in dper 2.0: build network representation 2017-06-05 18:03:34 -07:00
rnn CuDNN comparison mode 2017-05-20 15:19:43 -07:00
_import_c_extension.py doxygen python block added 2017-03-29 06:46:16 -07:00
attention.py Fixes range/xrange for Python 3 2017-06-07 00:04:26 -07:00
brew_test.py Support fetching of the parameters from the global namescope by '' 2017-06-05 22:32:39 -07:00
brew.py add_helper_function_ElementwiseLinear_op 2017-06-07 13:49:48 -07:00
caffe_translator_test.py Allow test discovery in caffe2/python/ 2017-03-14 18:16:41 -07:00
caffe_translator.py Fixed typo caffe_translator.py, fixes bug #397 2017-05-24 12:18:32 -07:00
checkpoint_test.py Fixes range/xrange for Python 3 2017-06-07 00:04:26 -07:00
checkpoint.py Adds interfaces to check the existence of a DB 2017-04-11 14:07:49 -07:00
CMakeLists.txt CMake completions work 2017-01-11 16:59:22 -08:00
cnn.py cnnmodelhelper deprecate warning 2017-05-18 23:35:26 -07:00
context_test.py Make ContextManager thread-safe 2017-02-13 19:45:35 -08:00
context.py doxygen python block added 2017-03-29 06:46:16 -07:00
control_test.py
control.py doxygen python block added 2017-03-29 06:46:16 -07:00
convnet_benchmarks_test.py
convnet_benchmarks.py doxygen python block added 2017-03-29 06:46:16 -07:00
core_gradients_test.py Caffe2 gradient generator bug fix 2017-05-30 18:47:08 -07:00
core_test.py Auto injecting device copy for single net and several nets 2017-06-07 20:03:18 -07:00
core.py Auto injecting device copy for single net and several nets 2017-06-07 20:03:18 -07:00
crf.py Integrate CRF in DeepText + New caffe2 operator for viterbi decode 2017-05-01 20:39:41 -07:00
data_parallel_model_test.py Fixes range/xrange for Python 3 2017-06-07 00:04:26 -07:00
data_parallel_model.py Fixes range/xrange for Python 3 2017-06-07 00:04:26 -07:00
data_workers_test.py add test for input order 2017-05-19 23:46:38 -07:00
data_workers.py Fixes range/xrange for Python 3 2017-06-07 00:04:26 -07:00
dataio_test.py Fixes range/xrange for Python 3 2017-06-07 00:04:26 -07:00
dataio.py checkpointing for distributed hive reader. 2017-06-06 14:20:06 -07:00
dataset.py doxygen python block added 2017-03-29 06:46:16 -07:00
db_test.py String-related fixes for Python 3 2017-05-26 16:04:32 -07:00
device_checker.py doxygen python block added 2017-03-29 06:46:16 -07:00
dyndep.py doxygen python block added 2017-03-29 06:46:16 -07:00
empty.so Adding video data layer for caffe2 2017-05-05 14:16:38 -07:00
experiment_util.py Port Xray OC workflow to elastic_data_parallel_model 2017-05-01 00:32:47 -07:00
extension_loader.py Make extension loader properly handle visibility. 2017-03-30 14:38:38 -07:00
gradient_check_test.py gradient checker for nets 2017-03-28 13:03:14 -07:00
gradient_checker.py MultiRNNCell (Caffe2) 2017-05-03 10:02:31 -07:00
hsm_util.py doxygen python block added 2017-03-29 06:46:16 -07:00
hypothesis_test_util.py Fixes range/xrange for Python 3 2017-06-07 00:04:26 -07:00
hypothesis_test.py Enable testing the GPU implementations of Adagrad and Adam 2017-06-01 18:10:57 -07:00
layer_model_helper.py fix for realtime training. 2017-05-26 23:49:40 -07:00
layer_model_instantiator.py Remove map() and filter() in favor of comprehensions 2017-05-30 15:32:58 -07:00
layer_test_util.py Add batch normalization layer 2017-05-26 16:46:52 -07:00
layers_test.py Fixes range/xrange for Python 3 2017-06-07 00:04:26 -07:00
load_save_test.py Allow Load operator to load into overriden names 2017-04-27 01:18:12 -07:00
lstm_benchmark.py lstm_benchmark use rnn_cell.LSTM multicell + assertion 2017-05-04 17:02:32 -07:00
memonger_test.py Change hypothesis settings for slow memonger test 2017-05-30 09:16:48 -07:00
memonger.py Caught exception when fetching uninitialized blobs when collecting blob sizes in workspace. 2017-06-07 15:35:32 -07:00
mkl_test_util.py doxygen python block added 2017-03-29 06:46:16 -07:00
model_device_test.py Comment out NHWC Alexnet test for now 2017-01-23 13:59:29 -08:00
model_helper.py Support fetching of the parameters from the global namescope by '' 2017-06-05 22:32:39 -07:00
mpi_python.cc Fix pybind11 module name for MPI helpers 2017-05-02 23:18:50 -07:00
muji_test.py Fixes range/xrange for Python 3 2017-06-07 00:04:26 -07:00
muji.py Fixes range/xrange for Python 3 2017-06-07 00:04:26 -07:00
net_builder_test.py Remove map() and filter() in favor of comprehensions 2017-05-30 15:32:58 -07:00
net_builder.py Remove map() and filter() in favor of comprehensions 2017-05-30 15:32:58 -07:00
net_drawer.py net_drawer: --input is required 2017-05-04 11:45:57 -07:00
net_printer_test.py Remove map() and filter() in favor of comprehensions 2017-05-30 15:32:58 -07:00
net_printer.py Remove map() and filter() in favor of comprehensions 2017-05-30 15:32:58 -07:00
optimizer_test_util.py Fp16 training initializers 2017-06-01 08:34:46 -07:00
optimizer_test.py add_weight_decay + restore weight decay to resnet50_trainer 2017-06-02 14:16:56 -07:00
optimizer.py Support for position weighted in distributed PS 2017-06-05 17:04:42 -07:00
pipeline.py Profiles pipe stages. 2017-05-24 12:02:03 -07:00
predictor_constants.py Re-apply #266 2017-04-25 21:17:04 -07:00
pybind_state_gpu.cc Cudnn v6 2017-02-28 17:46:33 -08:00
pybind_state_mkl.cc Expose MKLMemory to the Python Feed and Fetch interface, and misc changes 2016-11-29 15:18:36 -08:00
pybind_state.cc Infer input and output device from OperatorDef through OperatorSchema 2017-06-05 23:47:33 -07:00
pybind_state.h String-related fixes for Python 3 2017-05-26 16:04:32 -07:00
python_op_test.py Allow subsets of gradient outputs / inputs in Python ops 2017-06-05 12:52:01 -07:00
queue_util.py doxygen python block added 2017-03-29 06:46:16 -07:00
record_queue.py doxygen python block added 2017-03-29 06:46:16 -07:00
recurrent.py guard against special case of in-place operation 2017-06-07 12:33:31 -07:00
rnn_cell.py Fixes zip/izip for Python 3 2017-06-07 00:04:26 -07:00
schema_test.py Fix from_column_list 2017-06-06 01:17:02 -07:00
schema.py Fix from_column_list 2017-06-06 01:17:02 -07:00
scope_test.py Fix corruption of NameScope when exception is thrown 2017-04-24 22:46:27 -07:00
scope.py quick fix future issue with brew/core/schema/workspace/scope/utils.py 2017-06-05 12:01:48 -07:00
session_test.py Warn on setting blob on Scalar 2017-05-01 20:18:30 -07:00
session.py doxygen python block added 2017-03-29 06:46:16 -07:00
sparse_to_dense_mask_test.py String-related fixes for Python 3 2017-05-26 16:04:32 -07:00
task.py Remove map() and filter() in favor of comprehensions 2017-05-30 15:32:58 -07:00
test_util.py doxygen python block added 2017-03-29 06:46:16 -07:00
text_file_reader.py doxygen python block added 2017-03-29 06:46:16 -07:00
timeout_guard.py doxygen python block added 2017-03-29 06:46:16 -07:00
toy_regression_test.py
tt_core_test.py
tt_core.py doxygen python block added 2017-03-29 06:46:16 -07:00
utils.py quick fix future issue with brew/core/schema/workspace/scope/utils.py 2017-06-05 12:01:48 -07:00
visualize.py doxygen python block added 2017-03-29 06:46:16 -07:00
workspace_test.py String-related fixes for Python 3 2017-05-26 16:04:32 -07:00
workspace.py quick fix future issue with brew/core/schema/workspace/scope/utils.py 2017-06-05 12:01:48 -07:00