Merge branch 'master' of https://github.com/Microsoft/CNTK into dongyu/stoplr
This commit is contained in:
Коммит
6232550555
|
@ -8,6 +8,10 @@
|
|||
#define _CRT_NONSTDC_NO_DEPRECATE // make VS accept POSIX functions without _
|
||||
|
||||
#include "stdafx.h"
|
||||
#ifdef _WIN32
|
||||
#include <crtdbg.h>
|
||||
#endif
|
||||
|
||||
#include "Basics.h"
|
||||
#include "Actions.h"
|
||||
#include "ComputationNetwork.h"
|
||||
|
@ -687,7 +691,6 @@ int wmainOldCNTKConfig(int argc, wchar_t* argv[])
|
|||
fprintf(stderr, "%*s%ls", i > 0 ? 2 : 0, "", argv[i]); // use 2 spaces for better visual separability
|
||||
fprintf(stderr, "\n\n");
|
||||
|
||||
#if 1 //def _DEBUG
|
||||
// This simply merges all the different config parameters specified (eg, via config files or via command line directly),
|
||||
// and prints it.
|
||||
fprintf(stderr, "\n\n");
|
||||
|
@ -708,7 +711,6 @@ int wmainOldCNTKConfig(int argc, wchar_t* argv[])
|
|||
LOGPRINTF(stderr, ">>>>>>>>>>>>>>>>>>>> PROCESSED CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>\n");
|
||||
config.dumpWithResolvedVariables();
|
||||
LOGPRINTF(stderr, "<<<<<<<<<<<<<<<<<<<< PROCESSED CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<\n");
|
||||
#endif
|
||||
|
||||
LOGPRINTF(stderr, "Commands:");
|
||||
for (int i = 0; i < command.size(); i++)
|
||||
|
@ -828,15 +830,38 @@ static void LogDelayLoadError(PEXCEPTION_POINTERS pExcPointers)
|
|||
}
|
||||
}
|
||||
|
||||
#if _DEBUG
|
||||
// in case of asserts in debug mode, print the message into stderr and throw exception
|
||||
int HandleDebugAssert(int, // reportType - ignoring reportType, printing message and aborting for all reportTypes
|
||||
char *message, // message - fully assembled debug user message
|
||||
int * returnValue) // returnValue - retVal value of zero continues execution
|
||||
{
|
||||
fprintf(stderr, "C-Runtime: %s\n", message);
|
||||
|
||||
if (returnValue) {
|
||||
*returnValue = 0; // return value of 0 will continue operation and NOT start the debugger
|
||||
}
|
||||
|
||||
return TRUE; // returning TRUE will make sure no message box is displayed
|
||||
}
|
||||
#endif
|
||||
|
||||
int wmain(int argc, wchar_t* argv[]) // wmain wrapper that reports Win32 exceptions
|
||||
{
|
||||
set_terminate(TerminateThis); // insert a termination handler to ensure stderr gets flushed before actually terminating
|
||||
_set_error_mode(_OUT_TO_STDERR); // make sure there are no CRT prompts when CNTK is executing
|
||||
|
||||
// Note: this does not seem to work--processes with this seem to just hang instead of terminating
|
||||
__try
|
||||
{
|
||||
return wmain1(argc, argv);
|
||||
// in case of asserts in debug mode, print the message into stderr and throw exception
|
||||
if (_CrtSetReportHook2(_CRT_RPTHOOK_INSTALL, HandleDebugAssert) == -1) {
|
||||
LOGPRINTF(stderr, "CNTK: _CrtSetReportHook2 failed.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int mainReturn = wmain1(argc, argv);
|
||||
_CrtSetReportHook2(_CRT_RPTHOOK_REMOVE, HandleDebugAssert);
|
||||
|
||||
return mainReturn;
|
||||
}
|
||||
__except (LogDelayLoadError(GetExceptionInformation()), EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
|
|
|
@ -3232,7 +3232,7 @@ void GPUMatrix<ElemType>::BatchNormalizationForward(const GPUMatrix<ElemType>& s
|
|||
Data(), out.Data(),
|
||||
scale.Data(), bias.Data(),
|
||||
runMean.Data(), runInvStdDev.Data(), GetStream());
|
||||
assert(saveMean.IsEmpty() && saveInvStdDev.IsEmpty()); // (these are not produced in this case)
|
||||
// CNTK engine returns saveMean and saveInvStdDev empty, but cnDNN engine does not.
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче