Commit graph

138 commits

Author SHA1 Message Date
Yangqing Jia
01b45fd052 backward support to cudnn R2 for TensorFlow benchmark references 2015-12-02 15:12:04 -08:00
Yangqing Jia
acc16645d3 temp hack. Will rewrite the build script later. 2015-12-02 10:06:15 -08:00
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
f5393b4c78 Merge pull request #20 from Yangqing/tensor_notype
Some big rewrites now that they are stabilized.
2015-10-31 12:53:29 -07:00
Yangqing Jia
457ef79c70 elegant fetchblob 2015-10-31 09:55:29 -07:00
Yangqing Jia
71e9932148 half float conversion 2015-10-31 09:50:15 -07:00
Yangqing Jia
b70f46f958 minor fix 2015-10-31 09:50:02 -07:00
Yangqing Jia
625e19acae Float16 for convolution 2015-10-31 09:49:45 -07:00
Yangqing Jia
a51a398fec Revert "minor fix"
This reverts commit 88e5438cd6784ebce0053bbbc54795ba8f99b9eb.
2015-10-30 15:09:42 -07:00
Yangqing Jia
9e48fd2e8e utility op in-place opt-in 2015-10-30 14:29:57 -07:00
Yangqing Jia
d167ae5399 cudnn race condition fix 2015-10-30 14:29:29 -07:00
Yangqing Jia
6847291ea8 minor fix 2015-10-30 14:22:53 -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
0d18ed31dd minor bugfix 2015-10-29 10:27:32 -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
064fef1313 trying to cover as much mpi cases as possible 2015-09-15 22:06:37 -07:00
Yangqing Jia
5b9584c227 carpet bombing 2015-09-15 21:30:23 -07:00
Yangqing Jia
42d310afdd Update README.md
installation link.
2015-09-12 20:26:08 -07:00
Yangqing Jia
5b8ae52e4b cudnn note. 2015-09-12 16:55:24 -07:00
Yangqing Jia
87bdbe0e8e Hickery Dickery Docker.
Also started adding some docs for installation
2015-09-12 10:57:44 -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
53868133e1 lmdb: after commit, txn is already deleted so no need to abort 2015-09-06 22:34:22 +00: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
821eac3e7c lint 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
bc70f17a4f no more gflags hack headers. 2015-09-06 08:59:11 -07:00
Yangqing Jia
e505c98996 no more gflags_namespace.h header 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
d2ff13d332 put a peer access pattern function to caffe2. 2015-09-06 08:59:04 -07:00
Yangqing Jia
f2fde73447 init test bug fix - forgot to commit in the previous one 2015-09-06 08:59:03 -07:00
Yangqing Jia
26591c8ac7 easy selection of gpu ids for cuda context. 2015-09-06 08:59:03 -07:00
Yangqing Jia
baffb9c503 make caffe2_gtest also uses globalinit. Not allowing init to run twice. 2015-09-06 08:59:03 -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