Commit graph

49 commits

Author SHA1 Message Date
Yangqing Jia
3a4d4285f2 Added more benchmarks. 2015-12-02 10:04:00 -08:00
Yangqing Jia
7d87fe788f alexnet benchmark code using cudnn: this should give a reference speed that TensorFlow should achieve after tuning. With R4 currently we have 29.5ms fwd / 93.4ms bwd. 2015-12-01 17:17:22 -08:00
Yangqing Jia
457ef79c70 elegant fetchblob 2015-10-31 09:55:29 -07:00
Yangqing Jia
5cf83e57f2 cudnn refactor so we can do easier benchmark check. Also some minor bug fix. 2015-10-29 12:40:39 -07:00
Yangqing Jia
141d122db3 minor bugfix 2015-10-29 12:37:09 -07:00
Yangqing Jia
80a70b635f Two main changes:
(1) Loss: do not coerce a gradient output. Although it may be numerically more efficient to do so, it makes the definition of a loss kind of funny if one does not really want to run backward pass.
(2) Autodifferentiation: allow more explicit in-place check, in-place is now opt-in, and implemented a simple SSA/IR gradient generation scheme. Also added some core gradient tests.

Misc bugfixes as well.
2015-10-28 23:15:17 -07:00
Yangqing Jia
98c5b86ef7 A few changes:
(1) cudnn for conv
(2) cublas: after going through the work I feel it's beter to use HOST pointer mode, so changed it.
(3) storage order: despite that googlenet and multibox uses NHWC, it seems better to be still using
    NCHW as default to be consistent with caffe and cudnn; moved to NCHW as default.
2015-10-21 22:37:11 -07:00
Yangqing Jia
d734ddc196 Adding optional Eigen code. Added a switch USE_SYSTEM_EIGEN in Env. Misc changes. 2015-10-18 16:55:24 -07:00
Yangqing Jia
648d1b101a A consolidation of a couple random weekend work.
(1) various bugfixes.
(2) Tensor is now a class independent from its data type. This allows us
    to write easier type-independent operators.
(3) code convention changes a bit: dtype -> T, Tensor<*Context> -> Tensor* alias.
(4) ParallelNet -> DAGNet to be more consistent with what it does.
(5) Caffe's own flags library instead of gflags.
(6) Caffe's own logging library instead of glog, but glog can be chosen with
    compile-time definition -DCAFFE2_USE_GOOGLE_GLOG. As a result, glog macros
    like CHECK, DCHECK now have prefix CAFFE_, and LOG(*) now becomes
    CAFFE_LOG_*.
(7) an optional protobuf inclusion, which can be chosen with USE_SYSTEM_PROTOBUF
    in build_env.py.
2015-10-11 23:14:06 -07:00
Yangqing Jia
5b9584c227 carpet bombing 2015-09-15 21:30:23 -07:00
Yangqing Jia
0b66c01462 (1) blob debugstring
(2) cnn bugfix and enhancement
(3) device checker fix
(4) suppress prints from caffe2_python
(5) moar tests!
2015-09-12 10:37:40 -07:00
Yangqing Jia
8490282cd1 ‘did I…?’ ‘No.’ ‘should I…?’ ‘Yes.’ 2015-09-09 20:38:10 -07:00
Yangqing Jia
d07549bed2 half-finished cnn wrapper, etc. 2015-09-09 20:33:34 -07:00
Yangqing Jia
d4336af327 caffe_translator minor change 2015-09-06 16:33:59 -07:00
Yangqing Jia
d9af6fc7f2 Now we need to add GlobalInit() before mujitest. 2015-09-06 15:57:07 -07:00
Yangqing Jia
d72cfcebaf fixes to allow more consistent build tests 2015-09-06 22:34:22 +00:00
Yangqing Jia
4f33daf308 workspace: cannot call GlobalInit with sys.argv
because that will cause e.g. python to fail. Need
a better way, currently just disabling it.
2015-09-06 13:35:20 -07:00
Yangqing Jia
7517c2898f translator and misc fixes for legacy group convolution, sigh. 2015-09-06 13:34:46 -07:00
Yangqing Jia
1164b9a347 mujitest bugfix 2015-09-06 08:59:12 -07:00
Yangqing Jia
6e5e9743c3 muji fix 2015-09-06 08:59:12 -07:00
Yangqing Jia
8198cb135d pycaffe2 finetune 2015-09-06 08:59:12 -07:00
Yangqing Jia
a117c5164a workspace: set globalinit 2015-09-06 08:59:11 -07:00
Yangqing Jia
7583822af8 muji 2015-09-06 08:59:11 -07:00
Yangqing Jia
c18d756c49 workspace bugfix 2015-09-06 08:59:11 -07:00
Yangqing Jia
92e2cddd62 add some python cuda capability 2015-09-06 08:59:11 -07:00
Yangqing Jia
91d8ce4f44 python uses global init 2015-09-06 08:59:04 -07:00
Yangqing Jia
ec069cb3ea Use a global init function: it seems that with the multiple components optionally linked in, it is best to just enable a registering mechanism for inits. 2015-09-06 08:59:03 -07:00
Yangqing Jia
de55e4e77c changes to ensure a more robust build 2015-09-06 05:49:10 +00:00
Yangqing Jia
4f4aa1f205 clip operator, not tested. 2015-08-28 16:33:10 -07:00
Yangqing Jia
a57de4ece7 clean pycaffe namespace snafu. 2015-08-28 14:02:53 -07:00
Yangqing Jia
dad0608e75 pycaffe2 minor fix 2015-08-08 16:27:38 -07:00
Yangqing Jia
4b32534e84 bugfix for dropout and filler 2015-08-06 13:39:44 -07:00
Yangqing Jia
32dc580c43 utils: relax bool 2015-08-06 13:39:01 -07:00
Yangqing Jia
43afd1bdeb Change the strategy of dealing with gradients of shared parameters. 2015-08-06 13:37:09 -07:00
Yangqing Jia
127684610f utils bugfix 2015-07-29 09:21:02 -07:00
Jeff Donahue
d829950eff change arg order of Copy/Memcpy to follow inputs-then-outputs convention
instead of C memcpy order -- from (dst, src, n) to (n, src, dst)
2015-07-27 21:19:32 -07:00
Yangqing Jia
a76e7bb760 core_gradients change that goes with conv gradient change 2015-07-19 20:16:38 -07:00
Yangqing Jia
cf5a9f62b0 bugfix 2015-07-19 20:16:15 -07:00
Yangqing Jia
966a743f8c legacy names due to the plural->singular change 2015-07-19 20:16:10 -07:00
Yangqing Jia
47c70a43b4 (1) minidb bugfix
(2) blob serialization comments
(3) cudnn: putting it under a separate device name
    so we can explicitly choose cudnn instead of
    having CUDA device prioritizing it.
(4) note that mint is not available with ipython
    due to zeromq conflict
(5) db_throughput utility
(6) added gprofiler
2015-07-18 07:23:09 -07:00
Yangqing Jia
16c253e62e Some non-trivial refactoring:
(1) added blob serialization.
(2) registry can now use key types other than string.
(3) changed load_save_op so they interface with a db.
(4) change sgd iter op: it does increments so we can resume an iter.
(5) mnist linear classifier tests snapshot functionality.
(6) added protodb which is a small wrapper over TensorProtos.
2015-07-06 21:17:18 -07:00
Yangqing Jia
9b4fd2e77e workspace: create root folder if not exist. 2015-07-06 21:17:18 -07:00
Yangqing Jia
036229c889 [style] Finishing name changes for the rest of the fields in the protobuf. 2015-07-01 18:16:43 -07:00
Yangqing Jia
c1077400c9 [style] Massive name change from plural to singular. This one changes operator’s “inputs” and “outputs” to “input” and “output”, and "args" to "arg". 2015-07-01 15:31:01 -07:00
Yangqing Jia
cf88235bb4 [pycaffe2] net_drawer: do not exit too loud if pydot is not present. 2015-07-01 14:00:01 -07:00
Yangqing Jia
2807aac523 enable optional_deps so that any non-crucial failures will not break the whole system. 2015-06-30 20:41:41 -07:00
Yangqing Jia
2abd5e263e GoogleNet adaption - added yet another legacy padding support. 2015-06-30 19:40:05 -07:00
Yangqing Jia
dcb921f7ee Caffe translator example notebook, and some nicety-type changes that accompany it. 2015-06-29 17:12:44 -07:00
Yangqing Jia
2ed1077a83 A clean init for Caffe2, removing my earlier hacky
commits.
2015-06-25 16:26:01 -07:00