Amit Agarwal
62558e3079
Moved the parallel trainign guard when writing model/checkpoint files to the actual save functions instead of guarding at the call sites
2015-09-15 21:04:09 -07:00
Frank Seide
d204e2d11e
(made gcc happy)
2015-09-14 22:13:56 +02:00
Frank Seide
fa6816419c
moved most parts of BrainScriptEvaluator.h (those that are now independent of BrainScript) to BrainScriptObjects.h, and then renamed it ScriptableObjects.h;
...
also changed the namespace of all inside ScriptableObjects to Microsoft::MSR::ScriptableObjects;
NetworkBuilderFromConfig.cpp (the one that creates objects from BrainScript) also moved to ScriptableObjects namespace. It is independent of BrainScript now--yay! Python, F#, come all in!;
added a new base class ScriptableObjects::ScriptingError for catching and printing scripting exceptions
2015-09-14 21:38:45 +02:00
Frank Seide
ffb3d1de7a
made BrainScriptEvaluator.h independent of BrainScriptParser.h, in prep of separating out ConfigValue, ConfigRecord, ConfigArray, and ConfigLambda from BrainScript so that they can be used by other language wrappers as well. This required to replace ConfigValuePtr::textLocation by a lambda that prints an error string, annotated with a text location hidden inside the lambda (think Python wrapper--the lambda knows how to pinpoint the location in the Python source). Instead of throwing EvaluationError(msg, val.GetTextLocation()), one now instead says val.Fail(msg);
...
EvaluationError itself is now encapsulated inside BrainScriptEvaluator.cpp;
deleted IConfigRecord::operator(), as it was not really useful. Just use operator[]
2015-09-14 20:19:35 +02:00
Frank Seide
ca34040aaa
Merge branch 'master' into fseide/slicecleanup
2015-09-14 12:48:58 +02:00
Frank Seide
b07c346706
added a file DataReader_v2.txt to capture thoughs on data-reader redesign/refactoring
2015-09-14 12:14:24 +02:00
Frank Seide
755416a127
(added a missing declspec noreturn, for good measure)
2015-09-11 13:55:37 +02:00
Frank Seide
730a398c4d
reimplemented {{Runtime,Logic}Error,InvalidArgument}() using a common base function to remove code dup
2015-09-11 13:54:22 +02:00
Frank Seide
62f5e30932
replaced all throw std::xxx_error with corresponding call to XXXError(), likewise for invalid arg
2015-09-11 13:36:23 +02:00
Frank Seide
b36963f056
removed 46 duplicated calls to PrintSelfBeforeValidation(), instead calling it at once place from validation loop;
...
Validate() is now no longer pure, two nodes have no Validate() anymore, all others call Base::Validate() first
2015-09-11 13:28:58 +02:00
Frank Seide
a59291889d
fixed CNTKEvalTest build, was still using old name of Math lib
2015-09-11 13:01:44 +02:00
Frank Seide
09fc3fe6bb
reviewed & fixed more uses of ColumnSlice(), there is no obvious case missing, but some more tricky cases are left, which are commented in the FrameRange class definition and require further thought
2015-09-11 12:58:29 +02:00
Frank Seide
1c1507b267
reviewed remaining ColunmSlice() calls in RecurrentNodes & fixed where appropriate
2015-09-11 12:46:52 +02:00
Frank Seide
c0d58d373d
changed some uncalled-for use of 'long' to 'size_t'
2015-09-11 12:31:12 +02:00
Frank Seide
da6ffb3b18
simplified some error throws by using that LogicError() takes printf-like arguments;
...
sorted code order a bit (ComputeInputPartialOverXXX() moved)
2015-09-11 12:27:26 +02:00
Frank Seide
05f75b26b4
changed a use of ColumnSlice() to FrameSlice() in BatchModeNode;
...
cleaned up UsingBatchModeNodeMembers macro;
factored the 99% identical Max/AveragePoolingNode classes into shared PoolingNodeBase;
removed use of static eval/partial functions for convolution nodes, allowing to eliminate the detour via ConvolutionParams and PoolParams algogether, saving more code;
removed redundant member copies in CopyTo() of pooling node (-base, now), that is, members that are already copied in ComputationNode::CopyTo()
2015-09-11 12:22:21 +02:00
Amit Agarwal
2abaa83c8b
Fixed a bug in an assertion in the HTKMLFReader pertaining checking for distributed minibatch reading support
2015-09-11 00:03:12 -07:00
Amit Agarwal
b4da648222
Merge branch 'master' of https://git01.codeplex.com/cntk into amitaga/parallelTrainingFixes
2015-09-10 15:30:39 -07:00
Vladimir Ivanov
7f0460ef5f
Introducing a flexible test tagging system:
...
Each test is now tagged, so we can control what runs and when.
Tests tagged with 'bvt-*' are run on every checkin job in a build lab
Tests tagged with 'nightly-*' are run every night
Predicates mechanism embedded into the new tagging system allows to tag a test
in a conditional way, specifying python expression as a predicate. That
allows us to selectively reduce BVT test matrix and speed-up execution of BVT runs in a lab
2015-09-09 15:54:09 -07:00
Amit Agarwal
c0a82795f5
Minor change to the synchronization conditions for parallel training to support non-parallel and parallel phases within the same run
2015-09-09 15:51:28 -07:00
Amit Agarwal
4e6ebb035e
Merge branch 'master' of https://git01.codeplex.com/cntk into amitaga/fixLinuxMultiMachineTrainingIssue
...
Conflicts:
MachineLearning/CNTKSGDLib/AllReduceDistGradAggregator.h
MachineLearning/CNTKSGDLib/IDistGradAggregator.h
MachineLearning/CNTKSGDLib/SGD.cpp
2015-09-09 11:50:29 -07:00
Amit
df80b5b127
Worked around a bug in OpenMPI implementation where it reports completion of a receive to a CUDA page-locked buffer even when no data is really written to the buffer
2015-09-09 11:24:24 -07:00
Amit
e3ade64368
Added some more debug spew for debugging gradient aggregation code during parallel training
2015-09-09 10:37:15 -07:00
Frank Seide
473a8356b8
Split off two separately-built libs from main CNTK project: CNTKComputationNetworkLib and CNTKSGDLib. These have their own directories now, and their include paths only include libs below (but not the CNTK project, for example), enforcing some modularization.
...
Changed some scalar numerical values from ElemType to double, where this distinction did not add value, for example for objective values, frame-error rates, and learning rates.
Lots of minor cleanup such as reducing header dependencies (e.g. Matrix.h), consistency of template<typename/class ElemType>, and moved some misplaced code to more appropriate places (e.g. LearnableParameter initializations).
Merge branch 'master' into fseide/netlib
Conflicts:
MachineLearning/CNTK/CNTK.cpp
2015-09-08 16:32:59 -07:00
Amit Agarwal
6d00788914
Updated Windows baseline files for Speech/LSTM test and also undid the recent increase in tolerance % for the test
2015-09-08 13:24:04 -07:00
Amit
4194ef2c27
Updated Linux baselines for the LSTM test to accomodate the change in parameter initialization
2015-09-08 13:06:21 -07:00
Amit
9037583fb0
Fixed a crash on Linux
2015-09-08 12:23:18 -07:00
Frank Seide
4c6037f28a
added ParallelTraining test cases to the VS Solution;
...
relaxed baseline for single precision since now all scalars are double precision, which changes the result (double-precision run should not change)
2015-09-06 21:47:30 +02:00
Frank Seide
28303f4522
Merge branch 'fseide/netlib' of https://git.codeplex.com/cntk into fseide/netlib
2015-09-06 21:23:23 +02:00
Frank Seide
bbe95e2aeb
added Linux test cmd to README;
...
added dllexport to DeviceFromConfig()
2015-09-06 21:17:37 +02:00
Frank Seide
848679ed9e
fixed CNTKMathTest (includes have moved)
2015-09-06 12:10:15 -07:00
Frank Seide
f86562de3b
somehow screwed up lib directory path for CNTKEval.dll--fixed
2015-09-06 11:55:51 -07:00
Frank Seide
a2e66c0733
missed stdafx etc in repo
2015-09-06 18:29:07 +02:00
Frank Seide
9aecb5649d
made gcc happy again (mostly missing headers or wrong declaration orders);
...
Makefile adapted to new paths, but not yet building Network and SGD as separate libs
2015-09-06 09:20:28 -07:00
Frank Seide
c0d0f1ff0b
Merge branch 'master' of https://git.codeplex.com/cntk into fseide/netlib
2015-09-06 17:21:24 +02:00
Frank Seide
e6a46637e7
(deleted some left-over)
2015-09-06 17:20:30 +02:00
Frank Seide
e2d567548c
Matrix.h now no longer pulls in the CPU/GPUMatrix headers (this required cleaning up a few incorrect header dependencies as well);
...
cleaned up <class ElemType> vs. <typename ElemType> (using class since that was used more often, causing less diffs)
2015-09-06 17:17:07 +02:00
Frank Seide
fbd1c2da04
fixed a linker warning caused by BestGpu.cpp in CPUONLY mode saying it does not export any symbols
2015-09-06 06:19:34 +02:00
Frank Seide
a48d1ae4f2
added comments on further disentangling this for BrainScript and Matrix;
...
updated the post-build event of CNTKEval to not fail in CPU-only builds
2015-09-06 06:14:47 +02:00
Frank Seide
9c31c21478
InitLearnableParametersFromFile() moved out of ComputationNetwork into LearnableParameter itself, there called InitFromFile();
...
renamed LoadArrayFromFile() to LoadMatrixFromFile() since that's what it does and means, even if it passes it on temporarily as a flattened array
2015-09-05 17:28:27 +02:00
Frank Seide
b39f6da12c
moved LoadArrayFromTextFile() from ComputationNetwork.h to File.h (it fits only a little better there)
2015-09-05 16:30:19 +02:00
Frank Seide
5e8182e2e4
fixed CNTKEval after the last changes
2015-09-05 14:11:58 +02:00
Frank Seide
0d9a5b8f7a
(comments)
2015-09-05 13:57:27 +02:00
Frank Seide
39b7798c41
moved DecimateMinibatch functions to CPP
2015-09-05 13:49:40 +02:00
Frank Seide
ceec2cf610
renamed a VS filter and added a few comments
2015-09-05 12:05:36 +02:00
Frank Seide
ebc34473c3
moved IComputationNetBuilder.h over to CNTKSGDLib, as it is the interface through which models are either created or loaded from check-point
2015-09-05 11:28:24 +02:00
Frank Seide
f3a1484246
renamed CNTKEval and CNTKMath by appending -Dll to their name
2015-09-05 11:18:44 +02:00
Frank Seide
e4507e8700
CNTK now delay-loads msmpi.dll in case it is not installed;
...
moved Profiled.cpp/h;
disabled MultiNetworksSGD--seems not missing, not used
2015-09-05 11:16:55 +02:00
Frank Seide
75dd81795f
moved stuff out from CNTK to CNTKSGDLib;
...
created an SGD.cpp that instantiates the exported classes of CNTKSGDLib;
does not build since git mixed up files during move, and it won't let me git-add and git-mv in one go
2015-09-05 11:00:51 +02:00
Frank Seide
066d9c8966
fixed project files after moving node/network sources over;
...
forgot to git-add the new file of previous check-in
2015-09-05 01:11:45 -07:00