diff --git a/.gitignore b/.gitignore index 82d8112..c6fe171 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /Test/bin /Test/obj +/Test/.vs \ No newline at end of file diff --git a/MetaNN/model_rel/param_initializer/param_initializer.h b/MetaNN/model_rel/param_initializer/param_initializer.h index c773b75..5a09dd8 100644 --- a/MetaNN/model_rel/param_initializer/param_initializer.h +++ b/MetaNN/model_rel/param_initializer/param_initializer.h @@ -72,10 +72,10 @@ class ParamInitializer auto it = m_params.find(name); return it != m_params.end(); } - + + std::map> m_params; private: TFillers m_filler; - std::map> m_params; }; template diff --git a/Test/MetaNN.sln b/Test/MetaNN.sln new file mode 100644 index 0000000..ead4fb1 --- /dev/null +++ b/Test/MetaNN.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.572 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MetaNN", "MetaNN.vcxproj", "{4E74EFD2-9312-453B-9AA0-46EA21D35277}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4E74EFD2-9312-453B-9AA0-46EA21D35277}.Debug|x64.ActiveCfg = Debug|x64 + {4E74EFD2-9312-453B-9AA0-46EA21D35277}.Debug|x64.Build.0 = Debug|x64 + {4E74EFD2-9312-453B-9AA0-46EA21D35277}.Debug|x86.ActiveCfg = Debug|Win32 + {4E74EFD2-9312-453B-9AA0-46EA21D35277}.Debug|x86.Build.0 = Debug|Win32 + {4E74EFD2-9312-453B-9AA0-46EA21D35277}.Release|x64.ActiveCfg = Release|x64 + {4E74EFD2-9312-453B-9AA0-46EA21D35277}.Release|x64.Build.0 = Release|x64 + {4E74EFD2-9312-453B-9AA0-46EA21D35277}.Release|x86.ActiveCfg = Release|Win32 + {4E74EFD2-9312-453B-9AA0-46EA21D35277}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {8DE058F5-5304-4FBC-9BD8-553FF5A80202} + EndGlobalSection +EndGlobal diff --git a/Test/MetaNN.vcxproj b/Test/MetaNN.vcxproj new file mode 100644 index 0000000..c89f142 --- /dev/null +++ b/Test/MetaNN.vcxproj @@ -0,0 +1,347 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {4E74EFD2-9312-453B-9AA0-46EA21D35277} + Win32Proj + 10.0 + + + + Application + true + v142 + x64 + + + Application + false + v142 + x64 + + + Application + true + v142 + x64 + + + Application + false + v142 + x64 + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)bin\ + obj\x86_dbg + $(ProjectName)_x86_dbg + + + true + $(SolutionDir)bin\ + obj\x86 + $(ProjectName)_x86 + + + $(SolutionDir)bin\ + obj\x64 + $(ProjectName)_x64 + + + $(SolutionDir)bin\ + obj\x64_dbg + $(ProjectName)_x64_dbg + + + + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../;%(AdditionalIncludeDirectories) + MultiThreadedDebugDLL + Level3 + ProgramDatabase + Disabled + stdcpp17 + true + + + MachineX86 + true + Console + + + + + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../;%(AdditionalIncludeDirectories) + MultiThreadedDLL + Level3 + ProgramDatabase + stdcpp17 + true + + + MachineX86 + true + Console + true + true + + + + + stdcpp17 + ../;%(AdditionalIncludeDirectories) + true + /bigobj %(AdditionalOptions) + + + Console + + + + + stdcpp17 + ../;%(AdditionalIncludeDirectories) + true + /bigobj %(AdditionalOptions) + + + Console + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Test/MetaNN.vcxproj.filters b/Test/MetaNN.vcxproj.filters new file mode 100644 index 0000000..9fe702a --- /dev/null +++ b/Test/MetaNN.vcxproj.filters @@ -0,0 +1,594 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/Test/MetaNN.vcxproj.user b/Test/MetaNN.vcxproj.user new file mode 100644 index 0000000..6e2aec7 --- /dev/null +++ b/Test/MetaNN.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/readme.md b/readme.md index 5c022d6..245eb1c 100644 --- a/readme.md +++ b/readme.md @@ -3,4 +3,6 @@ MetaNN 中包含了很多新的编程尝试,其开发过程也是一个不断 MetaNN 的衍化并不快,但到目前为止一直在进行。衍化是在主分支上进行的,这个分支与主分支的代码会存在较多的差异,而随着开发的进行,这种差异也会越来越大。如果希望结合代码来阅读《C++模板元编程实战》这本书,那么应当关注于这个分支的代码。如果希望获取到 MetaNN 中最新的代码,同时对比与书中讨论内容的差异,那么应当获取主分支中的代码。 -除了内容上的差异外,主分支与本分支的编译环境也有所差异。本分支使用了 Makefile 来编译代码,在三个环境(Ubuntu + GCC, Ubuntu + clang, Windows + mingw-64)上进行了测试。但主分支则使用 Codelite 来组织代码,同时只在 Ubuntu + GCC 上进行了测试。 \ No newline at end of file +除了内容上的差异外,主分支与本分支的编译环境也有所差异。本分支使用了 Makefile 来编译代码,在三个环境(Ubuntu + GCC, Ubuntu + clang, Windows + mingw-64)上进行了测试。但主分支则使用 Codelite 来组织代码,同时只在 Ubuntu + GCC 上进行了测试。 + +更新:使用 Visual Studio 2019 Preview 已经可以正确编译该分支的代码,工程文件位于 Test/MetaNN.sln。为了加快编译速度,默认开启了多处理器编译选项,但会占用约 12~16 GB 的内存。如果内存资源不足,请关闭该选项(/MP)后进行编译。单核编译的峰值内存占用约为 7 GB,降低这一数值需要后续 Visual Studio 版本的进一步优化。 \ No newline at end of file