Граф коммитов

3259 Коммитов

Автор SHA1 Сообщение Дата
Frank Seide 6a69048204 changed former InferImageDimsFromInput(index) to a getter that just reads out the layout from the child, and all calls to this now assign it manually to the (input)SampleLayout variables, in quest of removing m_inputSampleLayout altogether 2015-12-23 21:33:16 -08:00
Frank Seide 0864a8c7c8 split up InferImageDimsFromInput() into false and true versions 2015-12-23 21:12:51 -08:00
Frank Seide db4c5ea53f SetDims(node) now also clones that node's m_sampleLayout 2015-12-23 20:48:08 -08:00
Frank Seide 166536b8dc Merge branch 'master' of https://git.codeplex.com/cntk into fseide/tensors 2015-12-23 20:46:36 -08:00
Frank Seide df6c25e958 sorted out various SetDims() calls, towards using SetDims() only to set both m_numRows and m_sampleLayout jointly 2015-12-23 20:45:43 -08:00
Frank Seide dfd780af45 cleaning up order of Validate(): MBLayout is now set first, and SetDim() and InferImageDimsFromInput() are grouped (they will get merged) 2015-12-23 20:21:27 -08:00
Frank Seide 5829d3d491 (added a perf comment) 2015-12-23 19:11:28 -08:00
Frank Seide 6418994f08 enabled ScaleNode::BackpropTo to use tensor lib;
merged with master
2015-12-23 18:27:27 -08:00
bmitra 42b308fc61 Stricter criteria for gpuSparse1D convolution optimization. 2015-12-23 17:44:17 -08:00
Alexey Kamenev 3f721d16e3 Updated ResNet sample. 2015-12-23 16:59:18 -08:00
Alexey Kamenev 87096d4751 Added ResNet ImageNet samples. 2015-12-23 16:44:11 -08:00
Frank Seide 44e7343f71 merged from master 2015-12-23 15:29:34 -08:00
Frank Seide 28ffb10895 changed TensorShape editing functions to in-place, to avoid more mem copying;
disabled the mapping of ScaleNode, RowElementTimesNode, and ColumnElementTimesNode for now because we see a perf hit with Scale. Reenable once that is solved
2015-12-23 15:20:40 -08:00
Frank Seide a590e5e889 more optimizations of PrepareTensorOperands() aimed at reducing memory copies and mallocs 2015-12-23 14:44:24 -08:00
Alexey Kamenev fd9e7923c3 Updated ResNet sample. 2015-12-23 13:59:31 -08:00
Alexey Kamenev 02f1f56c9a Updated samples, remove bogus restriction from conv and pool nodes. 2015-12-23 13:46:10 -08:00
Alexey Kamenev 05af287fe8 Updated image samples. 2015-12-23 13:46:00 -08:00
Frank Seide 0e880c2c64 some simplification of tensor-shape building, but no measurable speed impact;
GetSampleShape() changed to GetAndValidateSampleLayout() which no longer makes up TensorShapes but rather enforces that m_sampleLayout is consistent and plausibly set up. Avoids a copy
2015-12-23 13:38:13 -08:00
Jasha Droppo 42a027fe5c Merge branch 'master' into CUDA-elementwise-rework
Conflicts:
	Source/Math/GPUMatrix.cu
	Source/Math/GPUSparseMatrix.cu
2015-12-23 12:45:59 -08:00
Jasha Droppo ecbc64980b CUDA making sure older sigmoid kernel is used for AssignSigmoidOf() 2015-12-23 12:36:38 -08:00
bmitra c985aa2f48 Optimized 1D convolution backprop. 2015-12-23 11:53:17 -08:00
bmitra ca0301c8af Fix for merge with Master. 2015-12-23 11:52:55 -08:00
Frank Seide 788b1d3596 undid last stdafx.h uncomment, did not work 2015-12-23 11:20:16 -08:00
Frank Seide 7c9a991243 commented out all #include "stdafx.h" as it caused build errors without a meaningful error message that would point out which file is wrong 2015-12-23 09:18:07 -08:00
bmitra 9298f22b94 Merge branch 'master' of https://git01.codeplex.com/cntk into bmitra/Changes
Conflicts:
	Source/Math/GPUSparseMatrix.cu
2015-12-23 08:31:50 -08:00
Frank Seide 81eeff1234 added a#ifndef _CRT_SECURE_NO_WARNINGS to several stdafx.h 2015-12-23 00:39:38 -08:00
Frank Seide af84f9239a bug fix: ElementTimes::BackpropTo() in the TensorView prototype did not mask gaps correctly 2015-12-23 00:30:59 -08:00
Frank Seide 279a6535c1 added a missing _CRT_SECURE_NO_WARNINGS 2015-12-23 00:17:01 -08:00
Frank Seide e55199560c updated NoGPU.cpp re TensorOp()/SmallVector 2015-12-23 00:05:09 -08:00
Frank Seide 8856f49ddd all tensor ops are now available in three variants: DoOpOf(), AssignOpOf(), and AddOpOf();
SigmoidNode prototype with tensor lib for gradient as well
2015-12-22 23:58:49 -08:00
Frank Seide 5040ff7962 reimplemented SmallVector without dynamic memory allocation--10% faster for small minibatches, same speed as without tensor lib 2015-12-22 23:18:24 -08:00
Frank Seide beda4ef795 changed TensorShape to use new class SmallVector<> instead of std::vector, which is meant to avoid dynamic memory allocations 2015-12-22 22:25:50 -08:00
Frank Seide 283f22d357 new CUDA-efficient Sigmoid() implementation as suggested by Jasha 2015-12-22 21:36:54 -08:00
Frank Seide fb3dae2967 prototypical implementation of Sigmoid ForwardProp() using the tensor lib;
special optimization for linear-scan unary tensor operations (most frequent case);
adjusted the threshold for the Sigmoid() tensor op to reduce probability of thread divergence (thresholding at 0 will give a 50:50 split, doubling runtime). Still a overall 10% slower than old kernel, not clear why
2015-12-22 20:28:21 -08:00
Frank Seide cd87741e13 merged with master 2015-12-22 17:37:11 -08:00
Frank Seide d717aa09b5 undid previous heuristic, and instead changed the condition in RowSliceNode to not fail if the input is really a vector in image disguise (as one would load from old model files);
made gcc happy, suddenly it no longer liked to match the template of TensorOpN()
2015-12-22 17:34:10 -08:00
Yongqiang Wang 0eed21c0ff Fix a bug in RowSlice node (support legacy model format) 2015-12-22 15:49:02 -08:00
Frank Seide bdfcf91923 added a heuristic to TensorShape::Load() that allows to read old models created when sample layouts were not fully consistent 2015-12-22 15:04:52 -08:00
Frank Seide 644c47017e new class GridDim to centralize computation of grid dimensions 2015-12-22 14:35:19 -08:00
bmitra 54e4f95295 More sparse matrix fixes. 2015-12-22 14:32:56 -08:00
Alexey Kamenev 58b8afbb0d Updated AlexNet and VGG sample configs. 2015-12-22 13:59:40 -08:00
Alexey Kamenev 9602bddca7 Updated image samples. 2015-12-22 13:54:18 -08:00
Frank Seide e8c4e8f1de minor optimization of tensor CUDA kernel 2015-12-22 12:47:01 -08:00
Yongqiang Wang 067bc561d7 (Fix a bug in MarkValueSharable) 2015-12-22 12:18:21 -08:00
bmitra 43436ea9c6 Sparse matrix fixes. 2015-12-22 02:44:15 -08:00
Frank Seide 12a0c2eeba made gcc happy (two-phase name lookup) 2015-12-22 01:49:09 -08:00
Frank Seide 85c186fdb9 (comments) 2015-12-22 01:46:50 -08:00
Frank Seide 71cb56ce17 all BackpropTo() overloads from derived classes of NonlinearityNodeBase are now removed, code is cleaner and regular;
brought back Validate() of DropoutNode, why did it go missing?
2015-12-22 01:43:59 -08:00
Frank Seide 33e58f37fd further unified BackpropToV(), close to being ready to remove the dups 2015-12-22 01:32:21 -08:00
Frank Seide 3ecbc8abcc removed ScaleNode, RowElementTimesNode, and ColumnElementTimesNode if ENABLE_TENSORVIEW is #defined 2015-12-22 01:13:20 -08:00