https://github.com/Microsoft/CNTK

sort by:
Revision Author Date Message Commit Date
9b212d7 Win32 CNTK.exe added control-c handler to wrap checkpoint file writing. If checkpoint file gets corrupted, then entire training run may be ruined. 05 September 2015, 02:35:11 UTC
afcdd44 Restored proper permissions for run-test 05 September 2015, 02:12:47 UTC
9650981 Fix TestDriver script permissions... 05 September 2015, 02:05:14 UTC
f0602a1 Fix configure script permissions... again 04 September 2015, 19:22:12 UTC
12ed4a2 made ComputationNetwork independent of <ElemType>, aiming to make it easier to expose this as an interface in the future. In particular, all methods that still depended on <ElemType> got their own template parameter; some spelling errors renamed (RequirePreCompute() -> RequirePreCompute(), same for BatchMode, and similarly for GetNodesRequiringPreComputation()) 04 September 2015, 04:18:13 UTC
2e628cb merged fseide/bs feature branch: Added a completely new configuration language, which currently can be used in place of NDL, but eventually will power all configurations. It supports infix expressions, recursive macros, arrays, and a few useful functions such as string replace. It is called "BrainScript" (file extension .bs), where the name is meant to be reflective of our grand ambition (whereas the file extension is reflective of where we stand today w.r.t. that grand ambition...). As of now, BrainScript can be accessed for configuring networks through the new ExperimentalNetworkBuilder option. A few ComputationNodes are still missing, and MEL may not work as node naming is not sorted out yet. The core classes were refactored aiming at removing the pervasive template parameter <ElemType> (selecting float vs. double), aiming at making it feasible to wrap parts of CNTK as libraries. ComputationNode has been disentanlgled, while consumers such as ComputationNetwork and SGD--which really should be agnostic to float/double--have been changed to use the agnostic interface (ComputationNodeBase) where possible, but the full separation will require many more steps. Theoretically, once this is completed, it would be possible to mix float and double nodes in a single graph (through the use of still to be written typecast nodes). The two variants of each Evaluate and ComputePartial have been unified across full-minibatch and per-frame operation through passing the range as a new FrameRange object that encodes both whether it is the full minibatch vs. single frame, as well as the number of slices in a minibatch. Currently, the latter is passed through a member m_samplesInRecurrentStep, which now can be removed (currently it is kept for a runtime check to verify that this was done right--to be removed). The LSTM test case was modified to initialize its parameters with CPU code that, unlike the GPU code, honors random seeds, making it resilient to evaluation-order changes (that BrainScript implies, for example). The test case now has a BrainScript implementation (it is not default though; default remains the NDL version). Further minor code refactoring. 04 September 2015, 02:35:17 UTC
8e1c700 few more gcc issues (that compiler is soo slow!!) 04 September 2015, 02:23:21 UTC
a4c32ac CNTKEval now builds (missed the new .cpp files) 04 September 2015, 02:15:00 UTC
781c78e few more gcc issues 04 September 2015, 02:06:17 UTC
af40073 fixed more stuff broken under gcc 04 September 2015, 02:02:15 UTC
cb5621c fixed a few gcc build problems, requiring more stuff to move from .h to .cpp 04 September 2015, 01:57:58 UTC
ef0f197 somehow git forgot to add SynchronousExecutionEngine.cpp 04 September 2015, 01:47:41 UTC
3066a16 moved most <ElemType>-dependent functions out of ComputationNetwork into a ComputationNetworkBuilder class (added two files); fixed the slew of dependencies, mostly SimpleNetworkBuilder.cpp; ComputationNetwork no longer has to include all headers for all vairants of ComputationNodes; a few ComputationNode derivates missed #includes 04 September 2015, 01:41:59 UTC
31c50cb another fix related to the previous one 03 September 2015, 22:21:26 UTC
3e86195 fixed wrong type of Matrix<float> in SetSentenceSegBatch(); fixed a missing percentage in testcases.yml 03 September 2015, 22:18:17 UTC
1219c24 Merge branch 'master' into fseide/bs 03 September 2015, 22:05:46 UTC
83ddaf0 fixed a silly refactoring bug 03 September 2015, 21:47:34 UTC
a4c480f Merge branch 'master' into fseide/bs Conflicts: Math/Math/NoGPU.cpp 03 September 2015, 20:50:03 UTC
d4b735a fixed gcc template strictness issue in ExperimentalNetworkBuilder.cpp--thanks to Marko Radmiac for showing my feeble brain how to do that; bug fix: ComputationNode::OurElemType was incorrectly set to float instead of ElemType... ahem! increased eval err tolerance of LSTM test to 3%, should fix this some time by updating the baseline 03 September 2015, 20:44:27 UTC
4bbcca4 NVCC warnings as errors 03 September 2015, 20:30:30 UTC
db08c5c fixed two remaining build problems with gcc of the last commit 03 September 2015, 20:14:46 UTC
16bb5f9 split ComputationNode into a part depending on <ElemType> and part not depending on it (called ComputationNodeBase); and changed consumers of this, such as ComputationNetwork and SGD, now, wherever possible, to operate on the independent item. This is aimed at allowing abstract interfaces into CNTK without the complexity of the <ElemType> type parameterization (which is unnecessary on the interface level); few ComputationNode implementations were adapted to consistently use Inputs() instead of m_children, since m_children[] will now give the base class; changes all sentence-boundary flag matrices from Matrix<ElemType> to Matrix<float> (hoping that one day we can use Matrix<enum type>). BUGBUG: the old LSTM node currently is now broken because it directly multiplies data with this matrix--not fixed since that node is not in use currently; changed LSTM test case tolerance to 2% to be resilient to changes in initial randomization; MatrixPool no longer depends on <ElemType>, but instead implements both a float and a double pool 03 September 2015, 18:56:43 UTC
4e32c0e Fix Windows NVCC warnings 03 September 2015, 17:17:07 UTC
fe3346b Cleanup warnings in Linux 03 September 2015, 16:24:03 UTC
329f2d1 replaced lots of ColumnSlice() with FrameSlice() (but not all yet, to be completed later) 02 September 2015, 23:41:57 UTC
ff9c672 first attempt with FrameSlice(), succeeded 02 September 2015, 21:57:57 UTC
4781287 Merge branch 'fseide/framerange' into fseide/bs Conflicts: MachineLearning/CNTK/ComputationNode.h Tests/Speech/LSTM/cntk.config 02 September 2015, 21:35:41 UTC
e5cc613 bug fix in FrameRange::IsAllFrames(), got the logic inverted; README.txt updated to match updated LSTM test case 02 September 2015, 21:21:55 UTC
1849d5d Merge branch 'master' into fseide/framerange 02 September 2015, 21:07:05 UTC
9e627a4 FrameRange now not only takes a time index but also the number of slices in the minibatch, aiming to eliminate m_samplesInRecurrentStep; RecurrentNode and Past/FutureValueNodes now pass frameRange deeper down, eliminating explicit passing of m_samplesInRecurrentStep (which is already included in FrameRange); ComputeInputPartial() and EvaluateThisNode() implemented the same thing differently, changed to use identical pattern 02 September 2015, 21:06:10 UTC
035e164 Merge branch 'master' of https://git.codeplex.com/cntk into dongyu/LSTMTestCase 02 September 2015, 20:09:18 UTC
ceffaea Added platform specific baselines for the LSTM speech test 02 September 2015, 20:09:07 UTC
995fc87 moved FrameRange to Matrix.h; added new function FrameSlice() which is like ColumnSlice() but with knowledge of frame semantics through the FrameRange object 02 September 2015, 18:34:42 UTC
86faad3 Fixed a bug in utterance mode reading in HTKMLFReader that existed in the Linux fork and was propagted to the common reader with the merge of the readers 02 September 2015, 18:19:44 UTC
0bb5419 Merge branch 'dongyu/LSTMTestCase' of https://git.codeplex.com/cntk into dongyu/LSTMTestCase Conflicts: Math/Math/Matrix.cpp 02 September 2015, 17:35:32 UTC
15b941e Make LSTM/run-test have executable permissions for Linux 02 September 2015, 17:32:11 UTC
5ae107b remove last four lines in LSTM test case's run-test so that it only runs once. 02 September 2015, 17:32:11 UTC
e63e215 add NDLDir to run-test for the LSTM test case. 02 September 2015, 17:32:11 UTC
55f4f1d finish LSTM test case 02 September 2015, 17:32:05 UTC
8705dd0 Merge remote-tracking branch 'origin' into fseide/bs Conflicts: DataReader/HTKMLFReader/ssematrix.h Math/Math/CUDAPageLockedMemAllocator.cpp Math/Math/Matrix.cpp Math/Math/NoGPU.cpp Math/Math/ValueQuantizer.h 02 September 2015, 17:12:15 UTC
67464d2 some fixes to make gcc happy (one still missing); somehow git lost 'Makefile'--readding, hoping it won't confuse the merge process 02 September 2015, 15:43:31 UTC
448d7a1 Make LSTM/run-test have executable permissions for Linux 02 September 2015, 15:12:27 UTC
d8d5525 remove last four lines in LSTM test case's run-test so that it only runs once. 02 September 2015, 09:44:35 UTC
86815cc made the LSTM sample look more BS-like 02 September 2015, 07:43:15 UTC
c980d9f bug fix in parser: could not skip to end if already at end (0 chars), e.g. // at line end; bug fix: .* is not DiagTimes but ElementTimes; BS LSTM sample further refined, still working well 02 September 2015, 06:59:26 UTC
cf0d15a Enable unigram support on Linux 02 September 2015, 06:11:13 UTC
67f5121 using self-New macros in BS LSTM sample 02 September 2015, 06:02:04 UTC
b1ccf91 Replace uses of the VC++ non-standard std::hash_map with C++ standard std::unordered_map type in the HTKMLFReader 02 September 2015, 05:07:15 UTC
6f0526e 1) Switch to using std::mutex for mutual exclusion instead of platform specific facilities 2) A minor bug fix in the linux reader 02 September 2015, 01:23:17 UTC
2d1030c Merge branch 'master' of https://git01.codeplex.com/cntk into amitaga/mergeHTKMLFReaders 01 September 2015, 23:01:19 UTC
48d5968 Fixed a bug introduced during merging of the Linux and Windows readers 01 September 2015, 23:01:05 UTC
9773408 Reporting duration of test runs 01 September 2015, 22:13:28 UTC
6c61b87 started to be more fancy with BS 01 September 2015, 22:08:47 UTC
7ca0057 added tracing of stack pointers to track stack usage--1 KB for Evaluate(), why?? temporarily increased stack allocation; LSTM test script now runs, and correctly !!!, with BS 01 September 2015, 21:38:27 UTC
cc1f6b3 defined __declspec_noreturn for __declspec(noreturn) (empty on Linux); Basics.h now includes Plattform.h for __declspec_noreturn 01 September 2015, 21:04:03 UTC
d4c3e4a added BS to Linux Makefile--with lots of fallout that needs to be fixed 01 September 2015, 20:44:20 UTC
8e85f07 Merge branch 'master' of https://git01.codeplex.com/cntk into amitaga/mergeHTKMLFReaders 01 September 2015, 20:27:19 UTC
8087de0 changed a lot of 'let' inside Evaluate() to 'let &' to save some stack space; changed lots of function arguments from shared_ptrs passed by value to passed as const &, to save ref counting overhead 01 September 2015, 20:19:41 UTC
1df4e8e Merge the linux and windows forks of the HTKMLFReader fork into one. 01 September 2015, 20:09:57 UTC
e74e5e3 #if-0'ed out the old fake objects that developed this along, since they caused an 'unreachable code' warning=error; decorated ConfigParser.cpp's Fail() functions as static noreturn as they should be 01 September 2015, 19:17:06 UTC
db663a3 fixed a few Linux warnings 01 September 2015, 19:03:34 UTC
6ee7adf added more diagnostics to AsRef() and AsPtr() errors; added a wrapper around wmain() to catch and report Win32 errors; added a BS version of the LSTM NDL, for testing (not active by default) 01 September 2015, 18:59:23 UTC
1a78c47 added initOnCPUOnly flag and randomSeed optional parameters to NDL, allowing to create comparable runs across NDL and BS; renamed LearnableParameter::InitLearnableParameter() to InitRandom() (name was redundant after this was moved here); bug fix in this function: initOnCPUOnly now works, forgot to say 'ismoved=true' 01 September 2015, 17:30:58 UTC
4bf4c46 InitLearnableParameters() moved to LearnableParametersNode; new optional parameters for LearnableParameter: initOnCPUOnly and randomSeed 01 September 2015, 13:39:43 UTC
7915fef Fixed CPUONLY build 01 September 2015, 07:06:38 UTC
53dba1e updated sample to new array syntax 01 September 2015, 04:39:51 UTC
d7cfcd4 added #include <memory>, hopefully that will get the Linux build to find unique_ptr; fixed that warning in CUDA code 01 September 2015, 04:27:49 UTC
025e132 added BrainScript to Linux Makefile INCLUDEPATH 01 September 2015, 04:06:28 UTC
de71e8a made ParseConfig compile again (not really needed, but it broke the lab build) 01 September 2015, 04:02:50 UTC
6599e9e cleaned up include path for CNTKEval and CNTK, CNTKEval now builds with BS sadly, had to move IndentString() and NestString() into the header, to allow CNTKEval to compile (we need a better place for this kind of stuff--Basics.cpp?); removed unnecessary MPI dependency from CNTKEval, its dllmain.cpp, and BestGPU.cpp 01 September 2015, 03:50:06 UTC
31e0284 LoadNetworkFromFile() implemented--we can now restart from checkpoint 01 September 2015, 03:18:14 UTC
c6cb33c FixupInputMinibatchSize() moved to ComputationNetwork; ComputationNode constructor now initializes m_evalTimeStamp (another member that was forgotten); ExperimentalNetworkBuilder now calls FixupInputMinibatchSize() and ResetEvalTimeStamp() like the other builders (although I don't know why it is necessary) 01 September 2015, 02:53:43 UTC
946b99b fixed a few ComputationNode-defining default BS macros (missed the tag parameter); changed LateAttachingNode's function to taking a naked pointer since we cannot reconstruct the shared_ptr (that functionality is protected); PastValue node is now constructed correctly (but does not run properly yet, some dimensions are not set up right yet, don't yet know how to do that) 01 September 2015, 02:19:00 UTC
6c16d6f merged with master 01 September 2015, 01:37:31 UTC
044573f added all standard nodes that were documented in the CNTKBook as default macros 01 September 2015, 01:23:53 UTC
bbc59a5 add NDLDir to run-test for the LSTM test case. 01 September 2015, 00:03:11 UTC
2da60ea implemented all mising special nodes (still need to add macros for all standard nodes...) 31 August 2015, 23:34:22 UTC
e3889cc finish LSTM test case 31 August 2015, 23:18:48 UTC
d963039 several more nodes are now BS-enabled; new helper class LateAttachingNode for delay nodes; RowSliceNode: one constructor down, using default args; new constructor arg timeStep for DelayedValueNode 31 August 2015, 23:12:39 UTC
885de65 remove testcases.yml from LSTM test folder before baseline results are provided. 31 August 2015, 18:40:19 UTC
49ddc68 moved code around to bring node macros and code closer 31 August 2015, 18:11:02 UTC
031ca4b addes SpareInput, and made the internal operation name consistent for Input (should be InputValue--or we test against the class directly, maybe better) 31 August 2015, 18:09:21 UTC
5aea0d4 bug fix, m_boundaryInfo should not be moved to deviceId like most others, but to CPUDEVICE 31 August 2015, 05:28:04 UTC
6ed14c3 (adapted the debug command line in README.txt to be the same as in master branch) 31 August 2015, 05:15:13 UTC
658c57d bug fix in TransferToDeviceIfNotThere(): forgot to pass first arg (GetDeviceId()), and it accepted it because, due to optional parameters, the signature still matched (a bool was silently cast as an int) 31 August 2015, 04:15:02 UTC
1c65a18 added the LSTM test files to the VS Solution (no code change) 31 August 2015, 03:43:38 UTC
ca6bdc6 Add the speech LSTM test config. test results are not provided yet. 30 August 2015, 07:15:32 UTC
f3aa78b refined expression paths and understood the problem, soluton is safe but ugly; refined tracing 30 August 2015, 06:45:50 UTC
5d43271 new NDL for QuickE2E model now compiles (now fails due to mismatching node names for Input) 30 August 2015, 04:37:56 UTC
3548de6 Input nodes are now possible with BS; moved BS from namespace Microsoft::MSR::CNTK::BS to Microsoft::MSR::BS to emphasize its relative independence 30 August 2015, 04:08:47 UTC
6cc60ee renamed variables named FeatureNodes to featureNodes, for consistency with similar variables around them; 30 August 2015, 03:56:38 UTC
357704c refined a few BS error messages; Input() needed to pass a tag; now modifying cntk.conig of QuickE2E directly 30 August 2015, 03:39:00 UTC
833dd3e ComputationNode::ToString() now prints dimensions 30 August 2015, 03:09:45 UTC
075c160 implemented ToString for ComputationNode and ComputationNetwork; IndentString() and NestString() are now part of HasToString, as that's where they are needed; ComputationNode is now WithTag, and tags are used to build the node-group lists; moved TypeId() to Basics.h (not sure if it belongs here); made SynchronousExecutionEngine::SetOutputNode() static, because we can 30 August 2015, 02:58:12 UTC
97d0c7f MakeRuntimeObject<ComputationNetwork<>> implemented (it completes, but leaves some stuff not yet properly initialized); MakeRuntimeObject<ComputationNode<>> implemented for LearnableParameter and StandardNodes (need to test all those init options of LearnableParameter); ComputationNode<ElemType> now derives from new class BS::ComputationNodeObject (without template parameter) that we can test for in the Evaluator for infix operations on them; all 'new ComputationNode' were changed from 'class = "XXXNode"' to 'operation = "XXX"' to be consistent with the (inconsistent) TypeName (which really is the operation name, not the type name); unary minus with ComputationNode now uses Negate(); Scale() between ComputationNode and scalar now creates a Constant out of that scalar; InfixOp now takes an additional parameter, the scope, needed for looking up 'precision' from higher-up scopes; && and || are now short-circuited like C++; InfixOps now has only one entry for operations involving ComputationNodes, catching invalid ones now as type errors; ConfigValuePtr now knows how to cast to 'float' as well; BoxOf<> constructor now takes any number of arguments, whatever C::C() takes (using forwarding); ComputationNetwork no longer derives from BS::Object, we use a BoxOf<> instead, makes life easier; moved BS stuff to Experimental in the VS solution (until it works); changed three array initialization functions to static (with non-static wrappers where needed); ComputationNode base constructor forgot to initialize m_needGradient 30 August 2015, 01:11:30 UTC
97579b0 ExperimentalNetworkBuilder compiles now and might work, but cannot test since CNTK does not compile without CUDA presently; code implemented for all standard nodes (that only take inputs but no extra args) and for ComputationNetwork, most likely buggy and incomplete; ConfigArray::GetRange() renamed to GetIndexRange(); ComputationNetwork::NewStandardNode() and NewNode() made static to make them accessible to BrainScript; added some comments on how to clean up SetNbrSlicesInEachRecurrentIteration(); tried to make it compile without CUDA, but hopeless 29 August 2015, 08:41:11 UTC
262de81 changed MakeRuntimeObject() to return a shared_ptr<Object> instead of shared_ptr<C> 29 August 2015, 06:32:59 UTC
5e9296b somehoe two files got lost during renaming, readding 29 August 2015, 06:17:54 UTC
5eb8536 somehow two sources got lost in the process, readding 29 August 2015, 06:17:12 UTC
fcbb48e FindExternalRuntimeTypeInfo() for external (CNTK) code 29 August 2015, 03:23:33 UTC
back to top