Commit graph

42 commits

Author SHA1 Message Date
Mitchell Wortsman
823869ba79 Adding tanh to brew
Summary: Added tanh to brew.

Reviewed By: harouwu

Differential Revision: D5395358

fbshipit-source-id: 8eb5303f503e10aec4c59b42055933198d67e9b3
2017-07-11 18:17:52 -07:00
Luke Yeager
dfd745a4d1 Conv frontend: checking engine and use_cudnn
Summary:
*Fixes https://github.com/caffe2/caffe2/issues/860*

Raise an exception when the user specifies conflicting values for `engine` and `use_cudnn` in the conv frontend.
Closes https://github.com/caffe2/caffe2/pull/861

Differential Revision: D5329587

Pulled By: akyrola

fbshipit-source-id: 0f1ced9a88c9c6c5a7cb30a070e5bf60129082f0
2017-06-27 09:47:48 -07:00
Davin Wang
dd1525d346 fix #790 so model.init_params = False takes effect
Summary:
Given the parameter init_params=False, Weight Blob(*_w) and Bias Blob (*_b) should be suppressed in model.param_init_net. Without this fix, the init_params=False doesn't take effect in brew.conv as it does in brew.fc or other ops. This issue is the root cause of #790 [https://github.com/caffe2/caffe2/pull/790].
Closes https://github.com/caffe2/caffe2/pull/824

Reviewed By: harouwu

Differential Revision: D5276676

Pulled By: akyrola

fbshipit-source-id: 8f7088a8e1976658f67e027223e555375b3a2392
2017-06-20 14:08:35 -07:00
Zhicheng Yan
ee3727db00 add_helper_function_ElementwiseLinear_op
Summary:
Add a helper function for parametric op ElementwiseLinear
The typical syntax is model.ElementwiseLinear(input, output, dimension)

Reviewed By: harouwu, akyrola

Differential Revision: D5114152

fbshipit-source-id: 8e8c691f824f518ae510a72ab0c12de1b018f3b5
2017-06-07 13:49:48 -07:00
Andrey Malevich
e05173a476 Create ExternalInitializer to simplify logic around init_params = False
Summary:
This diff is creating new type of Initializer - ExternalInitializer. This
initializer is supposed to be used in cases when the parameter blob is already
expected to exist in the workspace.

Reviewed By: dzhulgakov

Differential Revision: D5171322

fbshipit-source-id: d27861f0f80afdea93c235d49f63da19adccc92c
2017-06-02 18:22:50 -07:00
Andrey Malevich
a8fb85797c Refactoring of the parameters step 0. Add simple tags and unify interface for params and computed_params.
Summary:
This diff is the first step in the effort for refactoring all parameters. As a first step - I'm merging concept of params and computed_params, that is going
to be based on tags instead (in the first version it's still using old data structs to store all the BlobReferences).

Renaming computed_params to non-trainable/non-backprop params should be done is some other diff.

Reviewed By: salexspb

Differential Revision: D5171159

fbshipit-source-id: 68031ca779f053fb266a7c4a2e5b482a3bd9c832
2017-06-02 17:17:57 -07:00
Ahmed Taei
299f293cb2 Add initializer classes to conv_nd.
Summary: Fix parameters passed to _ConvBase

Reviewed By: sunwael

Differential Revision: D5166836

fbshipit-source-id: 6c2a9fa73cf1199a5f861900554f3075a49104fc
2017-06-01 14:17:55 -07:00
Simon Layton
58874ad5bf Fp16 training initializers
Summary:
Re-open for re-importing :)
Closes https://github.com/caffe2/caffe2/pull/721

Differential Revision: D5164345

Pulled By: akyrola

fbshipit-source-id: e80b32556cd25610602df91a4225b93edc0ca40b
2017-06-01 08:34:46 -07:00
Aapo Kyrola
0f8c8f37a8 Revert D5159712: [caffe2][PR] Fp16 training initializers
Summary: This reverts commit 60a889494d2e2f4df1d720331e19f638c5eb95cc

Differential Revision: D5159712

fbshipit-source-id: 16040c911b260648857f656f92b165f92c2daae0
2017-06-01 00:17:14 -07:00
Aapo Kyrola
076376f4f6 Revert D5119830: [C2] Refactoring of the parameters step 0. Add simple tags and unify interface for params and computed_params
Summary: This reverts commit 2001090a37346eb12abbb234e13e727c288eb8a7

Differential Revision: D5119830

fbshipit-source-id: bf321868338f0db85dff3237af7eaf74212dbdf6
2017-06-01 00:02:21 -07:00
Andrey Malevich
ff61ed358e Refactoring of the parameters step 0. Add simple tags and unify interface for params and computed_params
Summary:
This diff is the first step in the effort for refactoring all paramters. As a
first step - I'm merging concept of params and computed_params, that is going
to be based on tags instead (in the first version it's still using old data
structs to store all the BlobReferences).

Renaming computed_params to non-trainable/non-backprop params should be done is
some other diff.

Reviewed By: salexspb

Differential Revision: D5119830

fbshipit-source-id: 2001090a37346eb12abbb234e13e727c288eb8a7
2017-05-31 22:36:36 -07:00
Simon Layton
2bfacff426 Fp16 training initializers
Summary:
Adds support for generating and training pfp16 models. Added SGD optimizer for multi-precision trainers and a new callback to data_parallel_model in order to help multi-precision models keep their different copies of parameters in sync during training.
Closes https://github.com/caffe2/caffe2/pull/697

Differential Revision: D5159712

Pulled By: salexspb

fbshipit-source-id: 60a889494d2e2f4df1d720331e19f638c5eb95cc
2017-05-31 17:46:58 -07:00
Simon Layton
2c3071fc4e Rework initializers to pass a class not object
Summary:
Changed tests
Moved to WeightInitializer, BiasInitializer keywords
Closes https://github.com/caffe2/caffe2/pull/682

Reviewed By: Yangqing

Differential Revision: D5138769

Pulled By: salexspb

fbshipit-source-id: 81d266100b2a95c64c0196c16670dfd34ea03e02
2017-05-30 09:06:56 -07:00
Alexander Sidorov
016f72537a ModelHelper.create_param, Initializer abstraction and ParameterInfo for optimizers
Summary:
This is going to unblock Nvidia in their work on adding fp16
support to Caffe2. I discussed this with kennyhorror before to make
sure this fits into his work on parameter sharing.

Reviewed By: kennyhorror

Differential Revision: D5127797

fbshipit-source-id: 4db155d320b1862570c23b77c4252bdacbf2296f
2017-05-25 22:03:15 -07:00
Simon Layton
193c9289f0 Fix LRN schema for cuDNN op
Summary:
Correct schema generation was previously broken leading to invalid gradient op creation.

Also exhibited in model_device_helper, where invalid schema were being created on the CPU when kwargs['engine'] == 'CUDNN'
Closes https://github.com/caffe2/caffe2/pull/617

Reviewed By: asaadaldien

Differential Revision: D5097062

Pulled By: akyrola

fbshipit-source-id: e22181f857deccb7b4395e87271e2cbf1226eb64
2017-05-22 08:33:34 -07:00
Yiming Wu
a28b01c155 rnn with brew
Summary:
Update rnn_cell.py and char_rnn.py example with new `brew` model.

- Deprecated CNNModelHelper
- replace all helper functions with brew helper functions
- Use `model.net.<SingleOp>` format to create bare bone Operator for better clarity.

Reviewed By: salexspb

Differential Revision: D5062963

fbshipit-source-id: 254f7b9059a29621027d2b09e932f3f81db2e0ce
2017-05-16 13:33:44 -07:00
Simon Layton
1d0ba2cfbd New cudnn ops
Summary:
cuDNN versions of dropout and LRN (for native fp16 support), port of Caffe's max pooling algo that uses an explicit mask to store locations (also supports fp16 storage)
Closes https://github.com/caffe2/caffe2/pull/396

Reviewed By: akyrola

Differential Revision: D4990880

Pulled By: asaadaldien

fbshipit-source-id: a716acffb656843e9b31e3e6808bd2d8aa959d03
2017-05-08 16:33:21 -07:00
Du Tran
033ab9da1b Adding video data layer for caffe2
Summary: Adding a simple video data layer which allows to read video data from frames, videos and output 5D tensor. It also allows multiple labels. The current implementation is based on ffmpeg

Differential Revision: D4801798

fbshipit-source-id: 46448e9c65fb055c2d71855447383a33ade0e444
2017-05-05 14:16:38 -07:00
Yiming Wu
aa5a46b848 fix LRN order
Summary: fix LRN helper's order

Reviewed By: salexspb

Differential Revision: D4949902

fbshipit-source-id: 88b1aa985546d36aa66c0677c617979ff186d78a
2017-04-27 16:46:47 -07:00
Yangqing Jia
deb1327b6e Re-apply #266
Summary: Closes https://github.com/caffe2/caffe2/pull/404

Differential Revision: D4943280

Pulled By: Yangqing

fbshipit-source-id: c0988598d8ccb8329feac88382686324b90d4d46
2017-04-25 21:17:04 -07:00
Yiming Wu
2c8b41e3f3 Adding add_weight_decay and image_input to brew module
Summary:
Adding add_weight_decay and image_input to brew module & remove `getWeights` and `getBias` from CNNModelHelper

With fbgs `useWeights`, the results show that noone but add_weight_decay is using this function. I checked with oculus people, their getWeights is a different function.

kennyhorror Please notice whether this is going to affect you :)

Reviewed By: salexspb

Differential Revision: D4945392

fbshipit-source-id: 4ef350fd81dd40a91847e9f3ebc5421eb564df32
2017-04-25 16:03:58 -07:00
Yiming Wu
0bb558716a rename model_helpers to brew and lowercase all helper functions
Summary:
rename model_helpers to brew. This is a big diff now. I did these things:

1. replace model_helpers with brew:

  find . -type f -exec sed -i 's/model_helpers/brew/g' {} +

2. rename model_helpers.py and model_helpers_test.py
3. rename ModelHelpersTest to BrewTest
4. lowercase all the helper functions to distinguish them from single op
5. run my unittests
6. run converge tests

Reviewed By: salexspb

Differential Revision: D4930465

fbshipit-source-id: f420a1b03238df1cbe9f4426e0b9c43a12119661
2017-04-24 15:52:26 -07:00
Yiming Wu
fa261cdafb arg_scope for model_helper
Summary:
arg_scope module for model_helpers.

Some coding example with it:

  with model_helpers.arg_scope([model_helpers.FC], kwargs):
              model_helpers.FC(model, "x", "out_1", n, n)

  with model_helpers.arg_scope([myhelper], n=-3):
              with model_helpers.arg_scope([myhelper], n=-2):
                  with model_helpers.arg_scope([myhelper], n=n):
                      res = model_helpers.myhelper(None)

  with model_helpers.arg_scope([myhelper], n=-3), \
          model_helpers.arg_scope([myhelper], n=-2), \
          model_helpers.arg_scope([myhelper], n=n):
                  res = model_helpers.myhelper(None)

Reviewed By: salexspb

Differential Revision: D4837180

fbshipit-source-id: 2cbd81681779d6cd1e61ee189edcc1cf3bb07d15
2017-04-24 15:52:25 -07:00
Yangqing Jia
a48062b1a2 temporarily fix sync script bugs changes by reverting partially https://github.com/caffe2/caffe2/pull/266/files 2017-04-24 15:49:22 -07:00
Yiming Wu
8a47857ef1 group_conv fix
Summary: gorup conv bug fix. Calling conv without model

Differential Revision: D4911690

fbshipit-source-id: fc7dd7d1b7056dd2a4a02f97ad037ee29c4d8c24
2017-04-19 10:07:09 -07:00
Yiming Wu
c3a4468af6 Add conv helpers and proxy to CNN
Summary:
Add conv helpers, the migration of functions assumes that people should not do

  cnn_model = CNNModelHelper(use_cudnn=True)
  cnn_model.Conv(..., use_cudnn=False, ...)

Reviewed By: salexspb

Differential Revision: D4884974

fbshipit-source-id: 12af6e2a5863eba789232cd4a4771f95d05f9227
2017-04-17 15:03:05 -07:00
Yiming Wu
2043b3c114 train and algebra helpers
Summary: Adding train and algebra helpers

Reviewed By: salexspb

Differential Revision: D4884951

fbshipit-source-id: 7a18eb986a7356977a6c3d7a62a996ddce0c793e
2017-04-17 15:03:05 -07:00
Yiming Wu
277b4eca97 array helpers (concat)
Summary: Adding array helpers

Reviewed By: salexspb

Differential Revision: D4884933

fbshipit-source-id: 2ec3dd37b243c8c717e299876eef7650a08d3f2b
2017-04-17 15:03:04 -07:00
Yiming Wu
ed3f0ac5e9 nonlinearity helpers
Summary: adding nonlinearity helpers

Reviewed By: salexspb

Differential Revision: D4884894

fbshipit-source-id: fe180df23daabb62175d5a6ae7b46ccb5f7d0123
2017-04-17 15:03:04 -07:00
Yiming Wu
3623c241c4 normalization helpers
Summary: Add normalization helpers

Reviewed By: salexspb

Differential Revision: D4884786

fbshipit-source-id: 529e678bae133e85d981310014c15d551d39d48b
2017-04-17 15:03:04 -07:00
Yiming Wu
e881c4c590 removing __all__ in fc, dropout, pooling
Summary: removing __all__ in fc, dropout, pooling

Reviewed By: salexspb

Differential Revision: D4884742

fbshipit-source-id: 4c5cedc9205851b0f3aac6832cebd3d48d0c1e74
2017-04-17 15:03:04 -07:00
Aaron Markham
b93a7b134a doxygen configs and updated python files to inc. doxygen tags (#266)
* updated ubuntu instructions

* updated ubuntu notes and troubleshooting

* updated tutorials using local files

* added doxygen python blocks for docs generation

* doxygen related files for generating docs
2017-04-14 16:30:33 -07:00
Aapo Kyrola
580ff3a594 Revert D4854240: [EAZY][C2 OSS] Add normalization helpers and proxy to CNNModelHelper
Summary: This reverts commit 3fa594d79960742b34e20d843e8b6ef8aeb601d3

Differential Revision: D4854240

fbshipit-source-id: d08cb30f188f876e1962f53a44f4e6d4ea68297f
2017-04-12 16:46:01 -07:00
Aapo Kyrola
32b30ff1fe Revert D4854440: [EASY][C2 OSS] Add Nonlinearity helpers and proxy to CNNModelHelper
Summary: This reverts commit a337e5279729f1c938f34b3994ab8827ee94aa93

Differential Revision: D4854440

fbshipit-source-id: 00ef9724654990356be9df9bb1f65b4fd0fd0ffc
2017-04-12 16:36:33 -07:00
Aapo Kyrola
a8ef3b4090 Revert D4855073: [EAZY][C2 OSS] Add array_helpers and proxy to CNN
Summary: This reverts commit 7272f62cff5d065eb028b8118a1ca190bd801fd5

Differential Revision: D4855073

fbshipit-source-id: a121e6bb98c37c7af0b59efad275e00bd5d21163
2017-04-12 16:36:33 -07:00
Aapo Kyrola
7867262d39 Revert D4855040: [EASY][C2 OSS] Add Algebra and train helpers and proxy them to CNNMH
Summary: This reverts commit d948ea913f674a6e47c4b72629a2d33253cb3130

Differential Revision: D4855040

fbshipit-source-id: c8efa9566a3ec6b9a9d3ad0e8cab3cc656627473
2017-04-12 16:36:32 -07:00
Yiming Wu
8de1ce57d2 Add Algebra and train helpers and proxy them to CNNMH
Summary: Add Algebra and train helpers and proxy them to CNNMH

Reviewed By: salexspb

Differential Revision: D4855040

fbshipit-source-id: d948ea913f674a6e47c4b72629a2d33253cb3130
2017-04-11 23:03:00 -07:00
Yiming Wu
b2e94a7bcb Add array_helpers and proxy to CNN
Reviewed By: salexspb

Differential Revision: D4855073

fbshipit-source-id: 7272f62cff5d065eb028b8118a1ca190bd801fd5
2017-04-11 23:02:59 -07:00
Yiming Wu
e7cdd90490 Add Nonlinearity helpers and proxy to CNNModelHelper
Summary: Add Nonlinearity helpers and proxy to CNNModelHelper

Reviewed By: salexspb

Differential Revision: D4854440

fbshipit-source-id: a337e5279729f1c938f34b3994ab8827ee94aa93
2017-04-11 23:02:59 -07:00
Yiming Wu
b8f2baec8e Add normalization helpers and proxy to CNNModelHelper
Summary: Add normalization helpers and proxy to CNNModelHelper

Reviewed By: salexspb

Differential Revision: D4854240

fbshipit-source-id: 3fa594d79960742b34e20d843e8b6ef8aeb601d3
2017-04-11 23:02:59 -07:00
Yiming Wu
d35b7569db Add Pooling Helpers, proxy to CNNModelHelper
Summary: Add Pooling Helpers, proxy to CNNModelHelper

Reviewed By: salexspb

Differential Revision: D4854014

fbshipit-source-id: 672fcd886153136b707866400b2705544eaf4ec9
2017-04-11 23:02:59 -07:00
Yiming Wu
64599d8351 create helpers package and add dropout
Summary: Helpers package and Dropout helper file

Reviewed By: salexspb

Differential Revision: D4837140

fbshipit-source-id: cd3030974421ce6830747935183e098aa04b2803
2017-04-07 17:33:49 -07:00