The commits 32391e1..2a7ab60 should not be pushed to public (since it enables MKL and MPI) revert them in this commit.
Reverted commit:8404e9c8de
"Enable MKL"64a37301f9
"Enable MPI_SUPPORT"61c6d59e04
"add a unit test for CNTKEval"
This commit is contained in:
Родитель
77e782d9d0
Коммит
0ff74f0405
|
@ -174,7 +174,4 @@ core
|
|||
MachineLearning/CNTK/buildinfo.h
|
||||
MachineLearning/CNTK/buildinfo.h$$
|
||||
|
||||
# =========================
|
||||
# AutoTest resource
|
||||
# =========================
|
||||
AutoTest/
|
||||
|
||||
|
|
|
@ -1,243 +0,0 @@
|
|||
|
||||
|
||||
#include "CppUnitTest.h"
|
||||
#include "Eval.h"
|
||||
#include "../../DataReader/HTKMLFReader/htkfeatio.h"
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
|
||||
using namespace std;
|
||||
using namespace Microsoft::MSR::CNTK;
|
||||
using msra::asr::htkfeatreader;
|
||||
|
||||
typedef void(*GetEvalProc)(IEvaluateModel<float>** peval);
|
||||
|
||||
namespace EvalUnitTest
|
||||
{
|
||||
class HTKUtteranceReader // designed for read one utterance
|
||||
{
|
||||
public:
|
||||
HTKUtteranceReader() : m_verbosity(0), m_contextWindow(5), m_frameshift(0){
|
||||
|
||||
}
|
||||
void SetContextWindow(size_t windowSize) { m_contextWindow = windowSize; }
|
||||
void SetFrameShift(int shift){ m_frameshift = shift; }
|
||||
size_t GetUtteranceData(wstring filename, vector<float>& utterance)
|
||||
// for a D (dim) X N (frame) utterance (specified by filename) and a window size H
|
||||
// utterance returns a D*(2*H+1) * N vector
|
||||
// caller don't need to resize utterance
|
||||
{
|
||||
|
||||
//========================================
|
||||
// Sec. 1 get basic info
|
||||
//========================================
|
||||
htkfeatreader reader;
|
||||
htkfeatreader::parsedpath path(filename);
|
||||
|
||||
string featKind;
|
||||
size_t featDim;
|
||||
size_t nframes;
|
||||
unsigned int featPeriod = 0;
|
||||
reader.getinfo(path, featKind, featDim, featPeriod, nframes);
|
||||
|
||||
//========================================
|
||||
// Sec. 2 resize output vector
|
||||
//========================================
|
||||
size_t expandedDim = (2 * m_contextWindow + 1) * featDim; // dimension after contex expanding
|
||||
size_t totalDim = expandedDim * nframes; // dimension of the vector we want to feed to CNTK eval
|
||||
utterance.resize(totalDim, 0.0f);
|
||||
//========================================
|
||||
// Sec. 3 get the feature matrix
|
||||
//========================================
|
||||
vector<vector<float> > featMatrix;
|
||||
featMatrix.resize(nframes);
|
||||
for (size_t n = 0; n < nframes; n++)
|
||||
{
|
||||
reader.read(featMatrix[n]);
|
||||
}
|
||||
//========================================
|
||||
// Sec. 4 context expansion
|
||||
//========================================
|
||||
if (m_contextWindow > 0)
|
||||
{
|
||||
vector<float> expandedfeat;
|
||||
expandedfeat.resize(expandedDim);
|
||||
|
||||
for (size_t n = 0; n < nframes; n++)
|
||||
{
|
||||
|
||||
size_t despos = 0;
|
||||
for (size_t ileft = m_contextWindow-1; ileft >=0; ileft--, despos ++ )
|
||||
{
|
||||
size_t srcpos = max(n - ileft, 0);
|
||||
copy(featMatrix[srcpos].begin(), featMatrix[srcpos].end(), expandedfeat.begin() + featDim *despos);
|
||||
}
|
||||
for (size_t iRight = 1; iRight < m_contextWindow; iRight++, despos++)
|
||||
{
|
||||
size_t srcpos = min(n + iRight, nframes);
|
||||
copy(featMatrix[srcpos].begin(), featMatrix[srcpos].end(), expandedfeat.begin() + featDim *despos);
|
||||
}
|
||||
copy(expandedfeat.begin(), expandedfeat.end(), utterance.begin() + expandedDim*n);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
size_t idx = 0;
|
||||
for (auto v : featMatrix)
|
||||
{
|
||||
copy(v.begin(), v.end(), utterance.begin() + expandedDim*idx);
|
||||
idx++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//========================================
|
||||
// Sec. 5 frame shift
|
||||
//========================================
|
||||
if (m_frameshift > 0)
|
||||
{
|
||||
assert(m_frameshift < nframes); // TODO: throw an exception
|
||||
/*
|
||||
for (size_t f = m_frameshift; f < nframes; f++)
|
||||
{
|
||||
copy(featMatrix[f].begin(), featMatrix[f].end(), utterance.begin() + (f-m_frameshift)*expandedDim);
|
||||
}
|
||||
for (size_t r = 0; r < m_frameshift; r++)
|
||||
{
|
||||
copy(featMatrix[nframes - 1].begin(), featMatrix[nframes - 1].end(), utterance.begin()+(nframes-m_frameshift+r)*expandedDim );
|
||||
}*/
|
||||
for (size_t ipos = nframes - m_frameshift -1; ipos >= 0; ipos++)
|
||||
{
|
||||
auto src = utterance.begin() + ipos * expandedDim;
|
||||
auto des = src + (m_frameshift)*expandedDim;
|
||||
copy(src, src + expandedDim, des);
|
||||
}
|
||||
|
||||
auto src = utterance.begin() + m_frameshift*expandedDim;
|
||||
for (size_t ipos = 0; ipos < m_frameshift; ipos++)
|
||||
{
|
||||
auto des = utterance.begin() + ipos * expandedDim;
|
||||
copy(src, src + expandedDim, des);
|
||||
}
|
||||
}
|
||||
return nframes;
|
||||
|
||||
}
|
||||
|
||||
private:
|
||||
size_t m_contextWindow; // =5 means 5:1:5 TODO support asymmetric context window
|
||||
size_t m_verbosity;
|
||||
short m_frameshift; // f>0 means x[0..n-1] -> [ x[f..n-1], x[n-1], ... ]
|
||||
// f<0 means x[0..n-1] -> [ x[0], x[0],... x[f..n-1] ]
|
||||
// frameshift is applied after context windows expansion
|
||||
};
|
||||
|
||||
|
||||
|
||||
TEST_CLASS(CNTKEvalUnitTest)
|
||||
{
|
||||
private:
|
||||
bool LoadEvalutor()
|
||||
{
|
||||
try
|
||||
{
|
||||
Plugin plug;
|
||||
GetEvalProc p_Processor = (GetEvalProc)plug.Load(m_strEvalModule, m_strGetEvalProcessor);
|
||||
IEvaluateModel<float>* pEval = nullptr;
|
||||
p_Processor(&pEval);
|
||||
m_pEval.reset(pEval);
|
||||
}
|
||||
catch (std::exception& e)
|
||||
{
|
||||
printf("ERROR: %s\n", e.what());
|
||||
Assert::Fail(L"Load Module failed");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public:
|
||||
TEST_CLASS_INITIALIZE(ConfigEvalUnitTest)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
TEST_METHOD(LoadModule)
|
||||
{
|
||||
Assert::IsTrue(LoadEvalutor());
|
||||
}
|
||||
|
||||
TEST_METHOD(RNNModelTest)
|
||||
{
|
||||
Assert::IsTrue(LoadEvalutor());
|
||||
m_pEval->Init("deviceID=-1");
|
||||
m_pEval->LoadModel(m_strRNNModel);
|
||||
|
||||
//========================================
|
||||
// Sec. 1 query node dimension
|
||||
//========================================
|
||||
map<wstring, size_t> inputDimensions;
|
||||
m_pEval->GetNodeDimensions(inputDimensions, nodeInput);
|
||||
map<wstring, size_t> outputDimensions;
|
||||
m_pEval->GetNodeDimensions(outputDimensions, nodeOutput);
|
||||
|
||||
//========================================
|
||||
// Sec. 2 load in feature files and expected output files
|
||||
//========================================
|
||||
HTKUtteranceReader reader;
|
||||
reader.SetFrameShift(0);
|
||||
reader.SetContextWindow(0);
|
||||
vector<float> utterData;
|
||||
size_t nframe=reader.GetUtteranceData(m_strRNNModelInputOutputPairs.first, utterData);
|
||||
vector<float> expectedRes;
|
||||
size_t nframeLLR = reader.GetUtteranceData(m_strRNNModelInputOutputPairs.second, expectedRes);
|
||||
Assert::AreEqual(nframe, nframeLLR, L"ERROR: number of input feature vectors mismatched with the number of output vectors");
|
||||
|
||||
//========================================
|
||||
// Sec. 3 setup inputs and outputs
|
||||
//========================================
|
||||
Assert::IsTrue(inputDimensions.find(L"features") != inputDimensions.end());
|
||||
Assert::IsTrue(outputDimensions.find(L"ScaledLogLikelihood") != outputDimensions.end());
|
||||
|
||||
map<wstring, vector<float>* > inputs;
|
||||
inputs[L"features"] = &utterData;
|
||||
map<wstring, vector<float>* > outputs;
|
||||
size_t outputDim = nframe * outputDimensions[L"ScaledLogLikelihood"];
|
||||
vector<float> outputData(outputDim,0.0f);
|
||||
outputs[L"ScaledLogLikelihood"] = &outputData;
|
||||
m_pEval->Evaluate(inputs, outputs);
|
||||
|
||||
//========================================
|
||||
// Sec. 4 CompareResults
|
||||
//========================================
|
||||
wstring msg = msra::strfun::wstrprintf(L"Output dimensions (%d vs %d) do not match", outputs.size(), expectedRes.size());
|
||||
Assert::AreEqual(expectedRes.size(), outputs[L"ScaledLogLikelihood"]->size(), L"Output dimension does not match");
|
||||
|
||||
for (size_t i = 0; i < expectedRes.size(); i++)
|
||||
{
|
||||
Assert::AreEqual(expectedRes[i], (*outputs[L"ScaledLogLikelihood"])[i], 0.01f);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
shared_ptr<IEvaluateModel<float>> m_pEval;
|
||||
static const wstring m_strEvalModule;
|
||||
static const string m_strGetEvalProcessor;
|
||||
static const wstring m_strRNNModel;
|
||||
static const pair<wstring, wstring> m_strRNNModelInputOutputPairs;
|
||||
|
||||
|
||||
};
|
||||
|
||||
const wstring CNTKEvalUnitTest::m_strEvalModule = L"CNTKEval"; // the module (.dll) name
|
||||
const string CNTKEvalUnitTest::m_strGetEvalProcessor = "GetEvalF"; // which function to get eval
|
||||
const wstring CNTKEvalUnitTest::m_strRNNModel = L"..\\..\\..\\AutoTest\\resources\\rnn.model.40";
|
||||
const pair<wstring, wstring> CNTKEvalUnitTest::m_strRNNModelInputOutputPairs = make_pair(L"..\\..\\..\\AutoTest\\resources\\LFB87dim.mfc", L"..\\..\\..\\AutoTest\\resources\\LFB87dim.pos");
|
||||
|
||||
|
||||
}
|
|
@ -1,162 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{4CBCD242-B40B-4A32-9648-DF9CD8CFFC8E}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>EvalUnitTest</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\common\include;..\..\math\math;$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<UseFullPaths>true</UseFullPaths>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\common\include;..\..\math\math;$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<UseFullPaths>true</UseFullPaths>
|
||||
<AdditionalOptions>/D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<UseFullPaths>true</UseFullPaths>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\common\include;..\..\math\math;$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<UseFullPaths>true</UseFullPaths>
|
||||
<AdditionalOptions>/D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\Common\fileutil.cpp" />
|
||||
<ClCompile Include="CNTKEValTest.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\Common\fileutil.cpp" />
|
||||
<ClCompile Include="CNTKEValTest.cpp" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -516,17 +516,6 @@ public:
|
|||
featdim = this->featdim;
|
||||
featperiod = this->featperiod;
|
||||
}
|
||||
|
||||
void getinfo (const parsedpath & ppath, string & featkind, size_t & featdim, unsigned int & featperiod, size_t& nframe)
|
||||
{
|
||||
open (ppath);
|
||||
featkind = this->featkind;
|
||||
featdim = this->featdim;
|
||||
featperiod = this->featperiod;
|
||||
nframe = this->numframes;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// called to add energy as we read
|
||||
void AddEnergy(size_t energyElements)
|
||||
|
|
|
@ -72,15 +72,15 @@
|
|||
<SDLCheck>true</SDLCheck>
|
||||
<OpenMPSupport>true</OpenMPSupport>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<AdditionalOptions>/bigobj /D MPI_SUPPORT %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>"c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\include";$(ProjectDir)\mpi</AdditionalIncludeDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>"c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\include"</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>CNTKMath.lib; nvml.lib; kernel32.lib; user32.lib; shell32.lib; %(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)/mpi/$(Platform); "c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\lib" </AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>CNTKMath.dll;nvml.dll;nvcuda.dll; cudart64_70.dll</DelayLoadDLLs>
|
||||
<AdditionalLibraryDirectories>"c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\lib"</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>CNTKMath.dll; nvml.dll; cudart64_70.dll</DelayLoadDLLs>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>xcopy /I /D /Y "%ProgramW6432%\NVIDIA Corporation\NVSMI\nvml*.dll" $(TargetDir)</Command>
|
||||
|
@ -110,9 +110,9 @@
|
|||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalOptions>/d2Zi+ /D MPI_SUPPORT %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions>/d2Zi+ %(AdditionalOptions)</AdditionalOptions>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<AdditionalIncludeDirectories>"c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\include"; $(ProjectDir)\mpi</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>"c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\include"</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
@ -121,8 +121,8 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>CNTKMath.lib; nvml.lib; kernel32.lib; user32.lib; shell32.lib; %(AdditionalDependencies)</AdditionalDependencies>
|
||||
<Profile>true</Profile>
|
||||
<DelayLoadDLLs>CNTKMath.dll;nvml.dll;CUDart64_70.dll</DelayLoadDLLs>
|
||||
<AdditionalLibraryDirectories>"c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\lib"; $(ProjectDir)/mpi/$(Platform)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>CNTKMath.dll; nvml.dll; cudart64_70.dll</DelayLoadDLLs>
|
||||
<AdditionalLibraryDirectories>"c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\lib"</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>xcopy /I /D /Y "%ProgramW6432%\NVIDIA Corporation\NVSMI\nvml*.dll" $(TargetDir)</Command>
|
||||
|
@ -213,4 +213,4 @@
|
|||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
||||
</Project>
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -30,7 +30,6 @@
|
|||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseIntelMKL>Parallel</UseIntelMKL>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
|
@ -38,7 +37,6 @@
|
|||
<PlatformToolset>v120</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseIntelMKL>Parallel</UseIntelMKL>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
@ -76,7 +74,7 @@
|
|||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>CNTKMath.lib; nvml.lib; kernel32.lib; user32.lib; shell32.lib; %(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\math\$(Platform)\$(Configuration);$(SolutionDir)$(Platform)\$(Configuration)\; "c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\lib"</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\; "c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\lib"</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>CNTKMath.dll; nvml.dll; cudart64_70.dll</DelayLoadDLLs>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
|
@ -105,7 +103,7 @@
|
|||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>CNTKMath.lib; nvml.lib; kernel32.lib; user32.lib; shell32.lib; %(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\math\$(Platform)\$(Configuration);$(SolutionDir)$(Platform)\$(Configuration)\; "c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\lib"</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\; "c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\lib"</AdditionalLibraryDirectories>
|
||||
<Profile>true</Profile>
|
||||
<DelayLoadDLLs>CNTKMath.dll; nvml.dll; cudart64_70.dll</DelayLoadDLLs>
|
||||
</Link>
|
||||
|
@ -158,4 +156,4 @@
|
|||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -31,7 +31,6 @@
|
|||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseIntelMKL>No</UseIntelMKL>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
|
@ -39,7 +38,6 @@
|
|||
<PlatformToolset>v120</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseIntelMKL>No</UseIntelMKL>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
|
|
@ -30,8 +30,7 @@
|
|||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseIntelMKL>Parallel</UseIntelMKL>
|
||||
<UseMpiLibrary>INTELMPI</UseMpiLibrary>
|
||||
<UseIntelMKL>No</UseIntelMKL>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
|
@ -39,7 +38,7 @@
|
|||
<PlatformToolset>v120</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseIntelMKL>Parallel</UseIntelMKL>
|
||||
<UseIntelMKL>No</UseIntelMKL>
|
||||
<UseIntelIPP>false</UseIntelIPP>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
|
@ -76,14 +75,13 @@
|
|||
<OpenMPSupport>true</OpenMPSupport>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<AdditionalOptions>/D USE_MKL %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\; c:\Program Files (x86)\Intel\Composer XE 2015\mkl\lib\intel64</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>cublas64_70.dll; cusparse64_70.dll; curand64_70.dll; cudart64_70.dll; %(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<AdditionalDependencies>libacml_mp_dll.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>cublas64_70.dll; cusparse64_70.dll; curand64_70.dll; cudart64_70.dll; libacml_dll.dll; libacml_mp_dll.dll; %(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<Profile>true</Profile>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
|
@ -123,7 +121,7 @@
|
|||
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
|
||||
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<AdditionalOptions>/d2Zi+ /D USE_MKL %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions>/d2Zi+ %(AdditionalOptions)</AdditionalOptions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
|
@ -131,10 +129,10 @@
|
|||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>c:\Program Files (x86)\Intel\Composer XE 2015\mkl\lib\intel64</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>libacml_mp_dll.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<Profile>true</Profile>
|
||||
<DelayLoadDLLs>cublas64_70.dll;cusparse64_70.dll;curand64_70.dll;cudart64_70.dll;nvcuda.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<DelayLoadDLLs>cublas64_70.dll; cusparse64_70.dll; curand64_70.dll; cudart64_70.dll; libacml_dll.dll; libacml_mp_dll.dll; %(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>xcopy /D /I /Y "$(ACML_PATH)\lib\*.dll" $(OutputPath)</Command>
|
||||
|
@ -199,4 +197,4 @@
|
|||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
||||
</Project>
|
Загрузка…
Ссылка в новой задаче