// // Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.md file in the project root for full license information. // #include "Globals.h" #include using namespace std; namespace Microsoft { namespace MSR { namespace CNTK { // TODO: get rid of this source file once static initializers in methods are thread-safe (VS 2015) std::atomic Globals::m_forceDeterministicAlgorithms(false); std::atomic Globals::m_forceConstantRandomSeed(false); std::atomic Globals::m_enableShareNodeValueMatrices(true); std::atomic Globals::m_optimizeGradientAccumulation(true); // Note: this is a map that transfers the old reader and writer names to // the new naming scheme std::unordered_map g_deprecatedReaderWriterNameMap = { // legacy reader mapping { L"HTKMLFReader", L"Cntk.Reader.HTKMLF" }, { L"LMSequenceReader", L"Cntk.Reader.LMSequence" }, { L"LUSequenceReader", L"Cntk.Reader.LUSequence" }, { L"UCIFastReader", L"Cntk.Reader.UCIFast" }, { L"LibSVMBinaryReader", L"Cntk.Reader.SVMBinary" }, { L"SparsePCReader", L"Cntk.Reader.SparsePC" }, { L"Kaldi2Reader", L"Cntk.Reader.Kaldi2" }, { L"BinaryReader", L"Cntk.Reader.Binary" }, // legacy writer mapping { L"HTKMLFWriter", L"Cntk.Reader.HTKMLF" }, { L"BinaryWriter", L"Cntk.Reader.Binary" }, { L"LUSequenceWriter", L"Cntk.Reader.LUSequence" }, { L"LMSequenceWriter", L"Cntk.Reader.LMSequence" }, { L"Kaldi2Writer", L"Cntk.Reader.Kaldi2" }, // New type of readers/writers { L"CompositeDataReader", L"Cntk.Composite" }, { L"HTKDeserializers", L"Cntk.Deserializers.HTK" }, { L"CNTKTextFormatReader", L"Cntk.Deserializers.TextFormat" }, { L"CNTKBinaryReader", L"Cntk.Deserializers.Binary" }, { L"ImageReader", L"Cntk.Deserializers.Image" }, }; }}}