Merge branch 'master' into qiwye/asgd-dev

This commit is contained in:
Qiwei Ye 2016-05-14 14:42:20 +08:00
Родитель 74068b5a2d b09ba6866e
Коммит f1d078f3c1
119 изменённых файлов: 22861 добавлений и 13612 удалений

Просмотреть файл

@ -1,12 +1,22 @@
# CNTK example: ImageNet ResNet
**Disclaimer: network configurations and experiment settings in this this folder try to follow those published in the [ResNet paper](http://arxiv.org/abs/1512.03385) as close as possible. However, these samples are NOT endorsed or verified by the researchers who published the original work. It is NOT guaranteed that you get the same (or even close) results as those in the paper.**
## Overview
|Data: |The ILSVRC2012 dataset (http://www.image-net.org/challenges/LSVRC/2012/) of images.
|:---------|:---
|Purpose |This example demonstrates usage of the NDL (Network Description Language) to define networks similar to ResNet.
|Network |NDLNetworkBuilder, deep convolutional networks resembling ResNet networks.
|Network |NDLNetworkBuilder, deep convolutional residual networks (ResNet).
|Training |Stochastic gradient descent with momentum.
## Details
The network configurations and experiment settings in this this folder resemble the ones in the original [ResNet paper](http://arxiv.org/abs/1512.03385) with few minor changes inspired by [this work](https://github.com/facebook/fb.resnet.torch).
The following table contains results as well as links to pre-trained models that can be used in various applications.
| Network | Top-1 error | Top-5 error | Model
| ------------- | ----------- | ----------- | ----------
| ResNet-18 | 29.57 | 10.41 | [Download](https://www.cntk.ai/resnet/ResNet_18.model)
| ResNet-34 | 27.31 | 8.97 | [Download](https://www.cntk.ai/resnet/ResNet_34.model)
| ResNet-50 | 24.74 | 7.56 | [Download](https://www.cntk.ai/resnet/ResNet_50.model)
## Notes
This work is an implementation of ResNets in CNTK. If you are interested in the original implementation of ResNet, follow [this link](https://github.com/KaimingHe/deep-residual-networks).

Просмотреть файл

@ -10,7 +10,6 @@ write=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
printValues=true

Просмотреть файл

@ -12,7 +12,6 @@ TrainDNN=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
NDLNetworkBuilder=[
ndlMacros=$NdlDir$/default_macros.ndl
@ -98,7 +97,6 @@ TrainLSTM=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
NDLNetworkBuilder=[
ndlMacros=$NdlDir$/default_macros.ndl
networkDescription=$ndlfile$
@ -183,7 +181,6 @@ TrainPACRNN=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
NDLNetworkBuilder=[
# ndlMacros=$NdlDir$/default_macros.ndl
@ -286,7 +283,6 @@ write=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
printValues=true

Просмотреть файл

@ -12,7 +12,6 @@ TrainDNN=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
NDLNetworkBuilder=[
ndlMacros=$NdlDir$/default_macros.ndl

Просмотреть файл

@ -10,7 +10,6 @@ TrainModel=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
NDLNetworkBuilder=[
ndlMacros=$NdlDir$/default_macros.ndl
networkDescription=$NdlDir$/model.ndl

Просмотреть файл

@ -11,7 +11,6 @@ TrainModel=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
NDLNetworkBuilder=[
ndlMacros=$NdlDir$/default_macros.ndl
networkDescription=$NdlDir$/model.ndl

Просмотреть файл

@ -20,7 +20,6 @@ TrainModel=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
NDLNetworkBuilder=[
ndlMacros=$NdlDir$/default_macros.ndl

Просмотреть файл

@ -19,7 +19,6 @@ TrainModel=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
NDLNetworkBuilder=[
ndlMacros=$NdlDir$/default_macros.ndl

Просмотреть файл

@ -12,7 +12,6 @@ write=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
printValues=true

Просмотреть файл

@ -12,7 +12,6 @@ write=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
printValues=true

Просмотреть файл

@ -20,7 +20,6 @@ speechTrainNDL=[
deviceId=-1
traceLevel=1
useValidation=true
NDLNetworkBuilder=[
networkDescription=$ConfigFolder$\LSTM_1layer.ndl

Просмотреть файл

@ -20,7 +20,6 @@ speechTrainNDL=[
deviceId=0
traceLevel=1
useValidation=true
NDLNetworkBuilder=[
networkDescription=$ConfigFolder$\LSTM_1layer.ndl

Просмотреть файл

@ -12,7 +12,6 @@ TIMIT_TrainLSTM=[
# deviceId=-1 for CPU, >=0 for GPU devices
deviceId=$DeviceNumber$
traceLevel=1
useValidation=true
truncated=true
@ -87,4 +86,4 @@ TIMIT_TrainLSTM=[
labelMappingFile=$MlfDir$/TIMIT.statelist
]
]
]
]

Просмотреть файл

@ -40,7 +40,6 @@ deviceId=-1
epochSize=4430000
# which is 886 * 5000
defaultHiddenActivity=0.1
useValidation=true
rnnType=CLASSLM
# rnnType=LSTM
@ -307,7 +306,6 @@ test=[
# which is 886 * 5000
recurrentLayer=1
defaultHiddenActivity=0.1
useValidation=true
rnnType=CLASSLM
modelPath=$ExpFolder$\modelRnnCNTK
@ -410,4 +408,4 @@ test=[
]
]
]
]
]

Просмотреть файл

@ -41,7 +41,6 @@ train=[
# which is 886 * 5000
recurrentLayer=1
defaultHiddenActivity=0.1
useValidation=true
rnnType=CLASSLM
# rnnType=LSTM
@ -308,7 +307,6 @@ test=[
# which is 886 * 5000
recurrentLayer=1
defaultHiddenActivity=0.1
useValidation=true
rnnType=CLASSLM
modelPath=$ExpFolder$\modelRnnCNTK
@ -411,4 +409,4 @@ test=[
]
]
]
]
]

Просмотреть файл

@ -30,7 +30,6 @@ epochSize=4430000
# which is 886 * 5000
# recurrentLayer=1
defaultHiddenActivity=0.0
useValidation=true
rnnType=CLASSLM
# rnnType=LSTM
@ -297,7 +296,6 @@ test=[
# which is 886 * 5000
recurrentLayer=1
defaultHiddenActivity=0.1
useValidation=true
rnnType=CLASSLM
modelPath=$ExpFolder$\modelRnnCNTK
@ -400,4 +398,4 @@ test=[
]
]
]
]
]

Просмотреть файл

@ -31,7 +31,6 @@ epochSize=4430000
# which is 886 * 5000
recurrentLayer=1
defaultHiddenActivity=0.0
useValidation=true
rnnType=CLASSLM
# rnnType=LSTM
@ -298,7 +297,6 @@ test=[
# which is 886 * 5000
recurrentLayer=1
defaultHiddenActivity=0.1
useValidation=true
rnnType=CLASSLM
modelPath=$ExpFolder$\modelRnnCNTK
@ -401,4 +399,4 @@ test=[
]
]
]
]
]

Просмотреть файл

@ -31,7 +31,6 @@ train=[
# which is 886 * 5000
recurrentLayer=1
defaultHiddenActivity=0.0
useValidation=true
rnnType=CLASSLM
# rnnType=LSTM
@ -297,7 +296,6 @@ test=[
# which is 886 * 5000
recurrentLayer=1
defaultHiddenActivity=0.1
useValidation=true
rnnType=CLASSLM
modelPath=$ExpFolder$\modelRnnCNTK
@ -400,4 +398,4 @@ test=[
]
]
]
]
]

Просмотреть файл

@ -656,6 +656,7 @@ public:
WhereNode(DEVICEID_TYPE deviceId, const wstring& name) :
Base(deviceId, name)
{
MarkValueNonSharable();
}
virtual void /*ComputationNodeNonLooping::*/ ForwardPropNonLooping() override;
@ -696,6 +697,7 @@ public:
PackedIndexNode(DEVICEID_TYPE deviceId, const wstring& name) :
Base(deviceId, name)
{
MarkValueNonSharable();
}
virtual void /*ComputationNodeNonLooping::*/ ForwardPropNonLooping() override;

Просмотреть файл

@ -1382,7 +1382,6 @@ void CPUMatrix<ElemType>::RequireSize(const size_t numRows, const size_t numCols
// Resize() -- change matrix size
// This function is cheap if the matrix size does not change.
// Current content is not preserved.
// BUGBUG: There is code that relies on zero initialization (without, we get subtle variations of output). That is wrong--we should initialize to QNaN and see where it fails.
// If growOnly is true, resize will not reallocate memory if the current memory is large enough (i.e., will not shrink).
// If this object does not own its memory then new memory cannot be allocated (one can still shrink and/or reshape).
template <class ElemType>
@ -1411,8 +1410,9 @@ void CPUMatrix<ElemType>::Resize(const size_t numRows, const size_t numCols, boo
}
// success
m_numRows = numRows;
m_numCols = numCols;
m_sliceViewOffset = 0;
m_numRows = numRows;
m_numCols = numCols;
}
// allocated by the callee but should be deleted by the caller

Просмотреть файл

@ -1384,6 +1384,7 @@ template void CPUSparseMatrix<char>::SetValue(CPUSparseMatrix<char> const&);
template char* CPUSparseMatrix<char>::Data() const;
template char* CPUSparseMatrix<char>::Data();
template void CPUSparseMatrix<char>::Reset(void);
template void CPUSparseMatrix<char>::Resize(const size_t, const size_t, const size_t, const bool);
template void CPUSparseMatrix<char>::RequireSizeAndAllocate(const size_t, const size_t, const size_t, const bool, bool);
template void CPUSparseMatrix<char>::RequireSizeAndAllocate(const size_t, const size_t, const size_t, const MatrixFormat, const bool, bool);
template CPUSparseMatrix<char>::~CPUSparseMatrix();

Просмотреть файл

@ -1467,29 +1467,27 @@ void GPUMatrix<ElemType>::Resize(const size_t numRows, const size_t numCols, boo
if (GetNumRows() == numRows && GetNumCols() == numCols)
return;
size_t numElements = numRows * numCols;
if (numElements > GetSizeAllocated() || // grow allocation
(!growOnly && numElements != GetSizeAllocated())) // shrink allocation if not growOnly
{
// reallocate buffer if numElements > 0
ElemType* pArray = nullptr;
if (numElements > 0)
pArray = TracingGPUMemoryAllocator::Allocate<ElemType>(GetComputeDeviceId(), numRows, numCols);
// If the buffer exists, free it
if (Buffer())
TracingGPUMemoryAllocator::Free<ElemType>(GetComputeDeviceId(), Buffer());
SetBuffer(pArray, numElements * sizeof(ElemType));
SetSizeAllocated(numElements);
}
// success
m_sliceViewOffset = 0;
m_numRows = numRows;
m_numCols = numCols;
size_t numElements = GetNumElements();
if (numElements > GetSizeAllocated() || (!growOnly && numElements != GetSizeAllocated()))
{
if (IsEmpty())
{
SetSizeAllocated(0);
SetBuffer(nullptr, 0);
}
else
{
if (Buffer())
{
TracingGPUMemoryAllocator::Free<ElemType>(GetComputeDeviceId(), Buffer());
}
SetSizeAllocated(numElements);
SetBuffer(TracingGPUMemoryAllocator::Allocate<ElemType>(GetComputeDeviceId(), m_numRows, m_numCols), numElements * sizeof(ElemType));
CUDA_CALL(cudaMemset(Buffer(), 0, sizeof(ElemType) * GetSizeAllocated()));
}
}
m_sliceViewOffset = 0;
}
template <class ElemType>

Просмотреть файл

@ -1223,32 +1223,32 @@ void Matrix<ElemType>::AssignValuesOf(const Matrix<ElemType>& deepCopyFrom)
DISPATCH_MATRIX_ON_FLAG(this, this,
{
// Set CPUMatrix from:
DISPATCH_MATRIX_ON_FLAG(&deepCopyFrom, &deepCopyFrom,
DISPATCH_MATRIX_ON_FLAG(&deepCopyFrom, nullptr,
{ m_CPUMatrix->SetValue(*deepCopyFrom.m_CPUMatrix); },
NOT_IMPLEMENTED,//{ m_CPUMatrix->SetValue(*deepCopyFrom.m_GPUMatrix); },
NOT_IMPLEMENTED,//{ m_CPUMatrix->SetValue(*deepCopyFrom.m_CPUSparseMatrix); },
NOT_IMPLEMENTED);//{ m_CPUMatrix->SetValue(*deepCopyFrom.m_GPUSparseMatrix); });
{ LogicError("AssignValuesOf: Assigning a GPUMatrix to a CPUMatrix is not yet implemented."); },//{ m_CPUMatrix->SetValue(deepCopyFrom.m_GPUMatrix->GetNumRows(), deepCopyFrom.m_GPUMatrix->GetNumCols(), deepCopyFrom.m_GPUMatrix->CopyToArray()); },// //{ m_CPUMatrix->SetValue(*deepCopyFrom.m_GPUMatrix); },
{ LogicError("AssignValuesOf: Assigning a CPUSparseMatrix to a CPUMatrix is not yet implemented."); },//{ m_CPUMatrix->SetValue(*deepCopyFrom.m_CPUSparseMatrix); },
{ LogicError("AssignValuesOf: Assigning a GPUSparseMatrix to a CPUMatrix is not yet implemented."); });//{ m_CPUMatrix->SetValue(*deepCopyFrom.m_GPUSparseMatrix); });
},
{
// Set GPUMatrix from:
DISPATCH_MATRIX_ON_FLAG(&deepCopyFrom, &deepCopyFrom,
NOT_IMPLEMENTED,//{ m_GPUMatrix->SetValue(*deepCopyFrom.m_CPUMatrix); },
DISPATCH_MATRIX_ON_FLAG(&deepCopyFrom, nullptr,
{ LogicError("AssignValuesOf: Assigning a GPUMatrix to a CPUMatrix is not yet implemented."); },//{ m_GPUMatrix->SetValue(deepCopyFrom.m_CPUMatrix->GetNumRows(), deepCopyFrom.m_CPUMatrix->GetNumCols(), m_GPUMatrix->GetComputeDeviceId(), deepCopyFrom.m_CPUMatrix->Data()); },////{ m_CPUMatrix->SetValue(*deepCopyFrom.m_GPUMatrix); },
{ m_GPUMatrix->SetValue(*deepCopyFrom.m_GPUMatrix); },
NOT_IMPLEMENTED,//{ m_GPUMatrix->SetValue(*deepCopyFrom.m_CPUSparseMatrix); },
NOT_IMPLEMENTED);//{ m_GPUMatrix->SetValue(*deepCopyFrom.m_GPUSparseMatrix); });
{ LogicError("AssignValuesOf: Assigning a CPUSparseMatrix to a GPUMatrix is not yet implemented."); },//{ m_GPUMatrix->SetValue(*deepCopyFrom.m_CPUSparseMatrix); },
{ LogicError("AssignValuesOf: Assigning a GPUSparseMatrix to a GPUMatrix is not yet implemented."); });//{ m_GPUMatrix->SetValue(*deepCopyFrom.m_GPUSparseMatrix); });
},
{
// Set CPUSparseMatrix from:
DISPATCH_MATRIX_ON_FLAG(&deepCopyFrom, &deepCopyFrom,
NOT_IMPLEMENTED,//{ m_CPUSparseMatrix->SetValue(*deepCopyFrom.m_CPUMatrix); },
NOT_IMPLEMENTED,//{ m_CPUSparseMatrix->SetValue(*deepCopyFrom.m_GPUMatrix); },
DISPATCH_MATRIX_ON_FLAG(&deepCopyFrom, nullptr,
{ LogicError("AssignValuesOf: Assigning a CPUMatrix to a CPUSparseMatrix is not yet implemented."); },//{ m_CPUSparseMatrix->SetValue(*deepCopyFrom.m_CPUMatrix); },
{ LogicError("AssignValuesOf: Assigning a GPUMatrix to a CPUSparseMatrix is not yet implemented."); },//{ m_CPUSparseMatrix->SetValue(*deepCopyFrom.m_GPUMatrix); },
{ m_CPUSparseMatrix->SetValue(*deepCopyFrom.m_CPUSparseMatrix); },
NOT_IMPLEMENTED);//{ m_CPUSparseMatrix->SetValue(*deepCopyFrom.m_GPUSparseMatrix); });
{ LogicError("AssignValuesOf: Assigning a GPUSparseMatrix to a CPUSparseMatrix is not yet implemented."); });//{ m_CPUSparseMatrix->SetValue(*deepCopyFrom.m_GPUSparseMatrix); });
},
{
// Set GPUSparseMatrix from:
DISPATCH_MATRIX_ON_FLAG(&deepCopyFrom, &deepCopyFrom,
NOT_IMPLEMENTED,//{ m_GPUSparseMatrix->SetValue(*deepCopyFrom.m_CPUMatrix); },
DISPATCH_MATRIX_ON_FLAG(&deepCopyFrom, nullptr,
{ LogicError("AssignValuesOf: Assigning a CPUMatrix to a GPUSparseMatrix is not yet implemented."); },//{ m_GPUSparseMatrix->SetValue(*deepCopyFrom.m_CPUMatrix); },
{ m_GPUSparseMatrix->SetValue(*deepCopyFrom.m_GPUMatrix); },
{ m_GPUSparseMatrix->SetValue(*deepCopyFrom.m_CPUSparseMatrix); },
{ m_GPUSparseMatrix->SetValue(*deepCopyFrom.m_GPUSparseMatrix); });
@ -3610,13 +3610,17 @@ void Matrix<ElemType>::_transferFromDeviceToDevice(int from_id, int to_id, bool
if (!m_CPUSparseMatrix)
LogicError("Can't move from CPU because I'm not there!");
if (!m_GPUSparseMatrix)
m_GPUSparseMatrix = make_shared<GPUSparseMatrix<ElemType>>(to_id, m_CPUSparseMatrix->GetFormat());
else
m_GPUSparseMatrix->ChangeDeviceTo(to_id);
if (m_CPUSparseMatrix->GetNumElements() != 0 && !emptyTransfer)
if (emptyTransfer)
{
if (m_GPUSparseMatrix && m_GPUSparseMatrix->GetComputeDeviceId() == to_id)
m_GPUSparseMatrix->Resize(m_CPUSparseMatrix->GetNumRows(), m_CPUSparseMatrix->GetNumCols(), m_CPUSparseMatrix->NzCount());
else
m_GPUSparseMatrix = make_shared<GPUSparseMatrix<ElemType>>(m_CPUSparseMatrix->GetNumRows(), m_CPUSparseMatrix->GetNumCols(), m_CPUSparseMatrix->NzCount(), to_id, m_CPUSparseMatrix->GetFormat());
}
else
{
if (!m_GPUSparseMatrix || m_GPUSparseMatrix->GetComputeDeviceId() != to_id)
m_GPUSparseMatrix = make_shared<GPUSparseMatrix<ElemType>>(to_id);
m_GPUSparseMatrix->SetValue(*m_CPUSparseMatrix);
}
@ -3640,10 +3644,10 @@ void Matrix<ElemType>::_transferFromDeviceToDevice(int from_id, int to_id, bool
if (!m_CPUSparseMatrix)
m_CPUSparseMatrix = make_shared<CPUSparseMatrix<ElemType>>(m_GPUSparseMatrix->GetFormat());
if (m_GPUSparseMatrix->GetNumElements() != 0 && !emptyTransfer)
{
if (emptyTransfer)
m_CPUSparseMatrix->Resize(m_GPUSparseMatrix->GetNumRows(), m_GPUSparseMatrix->GetNumCols(), m_GPUSparseMatrix->NzCount(), true);
else
m_GPUSparseMatrix->CopyToCPUSparseMatrix(*m_CPUSparseMatrix);
}
if (isBeingMoved)
{
@ -3668,13 +3672,19 @@ void Matrix<ElemType>::_transferFromDeviceToDevice(int from_id, int to_id, bool
{
if (!m_CPUMatrix)
LogicError("Can't move from CPU because I'm not there!");
if (m_CPUMatrix->GetNumElements() != 0 && !emptyTransfer)
if (emptyTransfer)
{
m_GPUMatrix = make_shared<GPUMatrix<ElemType>>(m_CPUMatrix->GetNumRows(), m_CPUMatrix->GetNumCols(), to_id, m_CPUMatrix->Buffer(), matrixFlagNormal);
if (m_GPUMatrix && m_GPUMatrix->GetComputeDeviceId() == to_id)
m_GPUMatrix->Resize(m_CPUMatrix->GetNumRows(), m_CPUMatrix->GetNumCols());
else
m_GPUMatrix = make_shared<GPUMatrix<ElemType>>(m_CPUMatrix->GetNumRows(), m_CPUMatrix->GetNumCols(), to_id);
}
else
{
m_GPUMatrix = make_shared<GPUMatrix<ElemType>>(to_id);
if (m_GPUMatrix && m_GPUMatrix->GetComputeDeviceId() == to_id)
m_GPUMatrix->SetValue(m_CPUMatrix->GetNumRows(), m_CPUMatrix->GetNumCols(), to_id, m_CPUMatrix->Data());
else
m_GPUMatrix = make_shared<GPUMatrix<ElemType>>(m_CPUMatrix->GetNumRows(), m_CPUMatrix->GetNumCols(), to_id, m_CPUMatrix->Data());
}
if (isBeingMoved)
{
@ -3682,9 +3692,7 @@ void Matrix<ElemType>::_transferFromDeviceToDevice(int from_id, int to_id, bool
m_CPUMatrix = nullptr;
}
else
{
SetDataLocation(BOTH, DENSE);
}
}
else // from GPU
{
@ -3693,15 +3701,22 @@ void Matrix<ElemType>::_transferFromDeviceToDevice(int from_id, int to_id, bool
if (to_id < 0) // to CPU
{
if (m_GPUMatrix->GetNumElements() != 0 && !emptyTransfer)
if (emptyTransfer)
{
ElemType* arr = m_GPUMatrix->CopyToArray(); // TODO: unnecessary allocation/copy; why not make this a vector that we move over as an rvalue ref?
m_CPUMatrix = make_shared<CPUMatrix<ElemType>>(m_GPUMatrix->GetNumRows(), m_GPUMatrix->GetNumCols(), arr, matrixFlagNormal);
delete[] arr;
if (m_CPUMatrix)
m_CPUMatrix->Resize(m_GPUMatrix->GetNumRows(), m_GPUMatrix->GetNumCols());
else
m_CPUMatrix = make_shared<CPUMatrix<ElemType>>(m_GPUMatrix->GetNumRows(), m_GPUMatrix->GetNumCols());
}
else
{
m_CPUMatrix = make_shared<CPUMatrix<ElemType>>();
ElemType* arr = m_GPUMatrix->CopyToArray(); // TODO: unnecessary allocation/copy; why not make this a vector that we move over as an rvalue ref?
if (m_CPUMatrix)
m_CPUMatrix->SetValue(m_GPUMatrix->GetNumRows(), m_GPUMatrix->GetNumCols(), arr);
else
m_CPUMatrix = make_shared<CPUMatrix<ElemType>>(m_GPUMatrix->GetNumRows(), m_GPUMatrix->GetNumCols(), arr, matrixFlagNormal);
delete[] arr;
}
if (isBeingMoved)

Просмотреть файл

@ -14,6 +14,9 @@
namespace Microsoft { namespace MSR { namespace CNTK {
// TODO: This class should go away eventually.
// TODO: The composition of packer + randomizer + different deserializers in a generic manner is done in the CompositeDataReader.
// TODO: Currently preserving this for backward compatibility with current configs.
CNTKTextFormatReader::CNTKTextFormatReader(MemoryProviderPtr provider,
const ConfigParameters& config) :
m_provider(provider)
@ -31,27 +34,22 @@ CNTKTextFormatReader::CNTKTextFormatReader(MemoryProviderPtr provider,
m_deserializer = shared_ptr<IDataDeserializer>(new TextParser<double>(configHelper));
}
TransformerPtr randomizer;
size_t window = configHelper.GetRandomizationWindow();
if (window > 0)
{
// Verbosity is a general config parameter, not specific to the text format reader.
int verbosity = config(L"verbosity", 2);
randomizer = make_shared<BlockRandomizer>(verbosity, window, m_deserializer);
m_randomizer = make_shared<BlockRandomizer>(verbosity, window, m_deserializer);
}
else
{
randomizer = std::make_shared<NoRandomizer>(m_deserializer);
m_randomizer = std::make_shared<NoRandomizer>(m_deserializer);
}
randomizer->Initialize(nullptr, config);
m_transformer = randomizer;
// TODO: add "frameMode" config paramter
m_packer = std::make_shared<SequencePacker>(
m_provider,
m_transformer,
m_randomizer,
GetStreamDescriptions());
}
catch (const std::runtime_error& e)
@ -72,7 +70,7 @@ void CNTKTextFormatReader::StartEpoch(const EpochConfiguration& config)
RuntimeError("Epoch size cannot be 0.");
}
m_transformer->StartEpoch(config);
m_randomizer->StartEpoch(config);
m_packer->StartEpoch(config);
}

Просмотреть файл

@ -8,6 +8,7 @@
#include "TextParser.h"
#include "Reader.h"
#include "Packer.h"
#include "SequenceEnumerator.h"
namespace Microsoft { namespace MSR { namespace CNTK {
@ -32,8 +33,8 @@ public:
private:
IDataDeserializerPtr m_deserializer;
// A head transformer in a list of transformers.
TransformerPtr m_transformer;
// Randomizer.
SequenceEnumeratorPtr m_randomizer;
// Packer.
PackerPtr m_packer;

Просмотреть файл

@ -4,6 +4,7 @@
//
#include "stdafx.h"
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
#include <limits>
#include "TextConfigHelper.h"

Просмотреть файл

@ -2,7 +2,7 @@
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.
//
// CompositeDataReader.cpp : Defines a reader that allows composing different deserializers.
// CompositeReader.cpp : Defines a reader that allows composing different deserializers.
// With this reader in place the users should only extend deserializers.
//
@ -11,8 +11,6 @@
#define _CRT_SECURE_NO_WARNINGS // "secure" CRT not available on all platforms --add this at the top of all CPP files that give "function or variable may be unsafe" warnings
#endif
#define DATAREADER_EXPORTS // creating the exports here
#include "CompositeDataReader.h"
#include "Bundler.h"
#include "BlockRandomizer.h"
@ -20,11 +18,15 @@
#include "FramePacker.h"
#include "SequencePacker.h"
#include "TruncatedBpttPacker.h"
#include "HeapMemoryProvider.h"
#include "CorpusDescriptor.h"
#include "ConfigUtil.h"
namespace Microsoft { namespace MSR { namespace CNTK {
// The whole CompositeDataReader is meant as a stopgap to allow deserializers/transformers composition until SGD talkes
// directly to the new Reader API.
// For more information please see its header file.
// This method composes together packers + randomizer + a set of transformers and deserializers.
CompositeDataReader::CompositeDataReader(const ConfigParameters& config, MemoryProviderPtr provider) : m_layout(make_shared<MBLayout>()),
m_corpus(std::make_shared<CorpusDescriptor>()),
m_provider(provider)
@ -55,37 +57,56 @@ CompositeDataReader::CompositeDataReader(const ConfigParameters& config, MemoryP
m_packingMode = PackingMode::sequence;
}
// Whether we need to check data between different deserializers.
bool cleanse = config(L"checkData", false);
m_precision = config("precision", "float");
// Creating deserializers.
// TODO: Currently the primary deserializer defines the corpus. The logic will be moved to CorpusDescriptor class.
CreateDeserializers(config);
// Bundling deserializers together.
// TODO: Add transformers in between.
auto bundler = std::make_shared<Bundler>(config, m_deserializers[0], m_deserializers, cleanse);
if (m_deserializers.empty())
{
InvalidArgument("Could not find deserializers in the reader config.");
}
IDataDeserializerPtr deserializer = m_deserializers.front();
if (m_deserializers.size() > 1)
{
// Bundling deserializers together.
// Option whether we need to check data between different deserializers.
bool cleanse = config(L"checkData", false);
deserializer = std::make_shared<Bundler>(config, deserializer, m_deserializers, cleanse);
}
int verbosity = config(L"verbosity", 2);
// Pick up the randomizer.
bool randomize = config(L"randomize", false);
// By default do not use omp threads for deserialization of sequences.
// It makes sense to put it to true for cases when deserialization is CPU intensive,
// i.e. decompression of images.
bool multiThreadedDeserialization = config(L"multiThreadedDeserialization", false);
if (randomize)
{
// By default randomizing the whole data set.
size_t randomizationWindow = config(L"randomizationWindow", requestDataSize);
m_randomizer = std::make_shared<BlockRandomizer>(verbosity, randomizationWindow, bundler, BlockRandomizer::DecimationMode::chunk, true);
// By default using STL random number generator.
bool useLegacyRandomization = config(L"useLegacyRandomization", false);
m_sequenceEnumerator = std::make_shared<BlockRandomizer>(verbosity, randomizationWindow, deserializer, BlockRandomizer::DecimationMode::chunk, useLegacyRandomization, multiThreadedDeserialization);
}
else
{
m_randomizer = std::make_shared<NoRandomizer>(bundler);
m_sequenceEnumerator = std::make_shared<NoRandomizer>(deserializer, multiThreadedDeserialization);
}
m_randomizer->Initialize(nullptr, config);
// In case when there are transforms, applying them to the data.
m_sequenceEnumerator = m_transforms.empty()
? m_sequenceEnumerator
: std::make_shared<TransformController>(m_transforms, m_sequenceEnumerator);
// Create output stream descriptions - where to get those? from config? what if it is not the same as network expects?
// TODO: Currently only sparse streams.
for (const auto& streamDescription : bundler->GetStreamDescriptions())
// TODO: Currently only dense output streams.
// TODO: Check here. We should already support repacking sparse into dense in the shim/matrix.
for (const auto& streamDescription : m_sequenceEnumerator->GetStreamDescriptions())
{
StreamDescriptionPtr stream = std::make_shared<StreamDescription>(*streamDescription);
stream->m_storageType = StorageType::dense;
@ -104,13 +125,17 @@ Minibatch CompositeDataReader::ReadMinibatch()
return m_packer->ReadMinibatch();
}
// Create deserializers based on the specified configuration.
// deserializers = [
// [ type = "ImageDataDeserializer" module = "ImageReader" ...]
// [ type = "CNTKTextFormatDeserializer" module = "CNTKTextFormatReader" ...]
void CompositeDataReader::CreateDeserializers(const ConfigParameters& readerConfig)
{
argvector<ConfigValue> deserializerConfigs =
readerConfig(L"deserializers", ConfigParameters::Array(argvector<ConfigValue>(vector<ConfigValue> {})));
assert(m_deserializers.empty());
bool primary = true; // CUrrently, the first deserializer becomes primary - it drives chunking.
bool primary = true; // Currently, the first deserializer becomes primary - it drives chunking.
for (size_t i = 0; i < deserializerConfigs.size(); ++i)
{
// TODO: Should go away in the future. Framing can be done on top of deserializers.
@ -124,6 +149,8 @@ void CompositeDataReader::CreateDeserializers(const ConfigParameters& readerConf
}
}
// Creates a particular deserializer based on the config: its loads the external module and calls CreateDeserializer
// factory function for a particular deserializer type.
IDataDeserializerPtr CompositeDataReader::CreateDeserializer(const ConfigParameters& deserializerConfig, bool primary)
{
typedef bool(*CreateDeserializerFactory) (IDataDeserializer** d, const std::wstring& type, const ConfigParameters& cfg, CorpusDescriptorPtr corpus, bool primary);
@ -138,10 +165,77 @@ IDataDeserializerPtr CompositeDataReader::CreateDeserializer(const ConfigParamet
RuntimeError("Cannot create deserializer. Please check module and type in the configuration.");
}
// Create transformers if necessary.
CreateTransforms(deserializerConfig);
assert(d != nullptr);
return IDataDeserializerPtr(d);
}
// Create transformers based on the configuration, i.e.
// deserializers = [
// [
// type = "ImageDataDeserializer"
// module = "ImageReader"
// inputs = [
// features = [
//----> transforms = [
// [type = "Crop"]:[type = "Scale"]...
void CompositeDataReader::CreateTransforms(const ConfigParameters& deserializerConfig)
{
std::string defaultModule = deserializerConfig("module");
argvector<ConfigParameters> inputs = deserializerConfig("inputs");
for (size_t i = 0; i < inputs.size(); ++i)
{
// Trying to find transfomers in a stream section of the config.
auto inputSections = TryGetSectionsWithParameter(inputs[i], "transforms");
if (inputSections.size() > 1)
{
LogicError("Only a single 'transforms' config is allowed per stream.");
}
// No need to create anything for this stream, skipping.
if (inputSections.empty())
{
continue;
}
ConfigParameters input = inputs[i](inputSections.front());
std::wstring inputName = msra::strfun::utf16(input.ConfigName());
// Read tranformers in order and appending them to the transformer pipeline.
argvector<ConfigParameters> transforms = input("transforms");
for (size_t j = 0; j < transforms.size(); ++j)
{
TransformerPtr transformer = CreateTransformer(transforms[j], defaultModule);
m_transforms.push_back(Transformation{transformer, inputName});
}
}
}
// Create a transformer for a particular configuration. Loading it from the module of the deserializer if module is not specified, i.e.
// transforms = [
// [type = "Scale" width=...]:...
TransformerPtr CompositeDataReader::CreateTransformer(const ConfigParameters& config, const string& defaultModule)
{
typedef bool(*TransformerFactory) (Transformer** t, const std::wstring& type, const ConfigParameters& cfg);
std::string transformerModule = config("module", defaultModule.c_str());
TransformerFactory f = (TransformerFactory)Plugin::Load(transformerModule, "CreateTransformer");
std::wstring transformerType = config("type");
Transformer* t;
if (!f(&t, transformerType, config))
{
RuntimeError("Cannot create transformer. Please check the module and type in the configuration.");
}
assert(t != nullptr);
return TransformerPtr(t);
}
void CompositeDataReader::StartEpoch(const EpochConfiguration& cfg)
{
EpochConfiguration config = cfg;
@ -151,7 +245,7 @@ void CompositeDataReader::StartEpoch(const EpochConfiguration& cfg)
RuntimeError("Unsupported minibatch size '%d'.", (int)config.m_totalEpochSizeInSamples);
}
m_randomizer->StartEpoch(config);
m_sequenceEnumerator->StartEpoch(config);
// TODO: As the next step the packers should be moved into the network.
switch (m_packingMode)
@ -159,13 +253,13 @@ void CompositeDataReader::StartEpoch(const EpochConfiguration& cfg)
case PackingMode::sample:
m_packer = std::make_shared<FramePacker>(
m_provider,
m_randomizer,
m_sequenceEnumerator,
m_streams);
break;
case PackingMode::sequence:
m_packer = std::make_shared<SequencePacker>(
m_provider,
m_randomizer,
m_sequenceEnumerator,
m_streams);
break;
case PackingMode::truncated:
@ -173,7 +267,7 @@ void CompositeDataReader::StartEpoch(const EpochConfiguration& cfg)
config.m_truncationSize = m_truncationLength;
m_packer = std::make_shared<TruncatedBPTTPacker>(
m_provider,
m_randomizer,
m_sequenceEnumerator,
m_streams);
break;
}

Просмотреть файл

@ -9,7 +9,9 @@
#include <string>
#include <future>
#include "DataReader.h"
#include <Reader.h>
#include "Reader.h"
#include "Transformer.h"
#include "TransformController.h"
namespace Microsoft { namespace MSR { namespace CNTK {
@ -44,13 +46,11 @@ struct Minibatch;
// - sequences can be transformed by the transformers applied on top of deserializer (TODO: not yet in place)
// - deserializers are bound together using the bundler - it bundles sequences with the same sequence id retrieved from different deserializers
// - packer is used to pack randomized sequences into the minibatch
// The composite data reader is currently also responsible for asynchronous prefetching of the minibatch data.
// The composite reader is currently also responsible for asynchronous prefetching of the minibatch data.
// In order not to break existing configs and allow deserializers composition it exposes the same interface as the old readers, but it is not exposed
// to external developers. The actual "reader developer" now has to provide deserializer(s) only.
// TODO: Implement proper corpus descriptor.
// TODO: Add transformers as the next step.
// TODO: Same code as in ReaderLib shim, the one in the ReaderLib will be deleted as the next step.
// TODO: Change this interface when SGD is changed.
class CompositeDataReader : public Reader, protected Plugin
{
@ -68,7 +68,10 @@ public:
private:
void CreateDeserializers(const ConfigParameters& readerConfig);
void CreateTransforms(const ConfigParameters& deserializerConfig);
IDataDeserializerPtr CreateDeserializer(const ConfigParameters& readerConfig, bool primary);
TransformerPtr CreateTransformer(const ConfigParameters& config, const std::string& defaultModule);
enum class PackingMode
@ -103,9 +106,11 @@ private:
// A list of deserializers.
std::vector<IDataDeserializerPtr> m_deserializers;
// Randomizer.
// TODO: remove Transformer interface from randomizer.
TransformerPtr m_randomizer;
// A list of transformers.
std::vector<Transformation> m_transforms;
// Sequence provider.
SequenceEnumeratorPtr m_sequenceEnumerator;
// TODO: Should be removed. We already have matrices on this level.
// Should just get the corresponding pinned memory.

Просмотреть файл

@ -3,8 +3,8 @@
<ItemGroup>
<ClCompile Include="dllmain.cpp" />
<ClCompile Include="stdafx.cpp" />
<ClCompile Include="CompositeDataReader.cpp" />
<ClCompile Include="Exports.cpp" />
<ClCompile Include="CompositeDataReader.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h" />

Просмотреть файл

@ -231,7 +231,7 @@ vector<wstring> ConfigHelper::GetSequencePaths()
// post processing file list :
// - if users specified PrefixPath, add the prefix to each of path in filelist
// - else do the dotdotdot expansion if necessary
if (!rootPath.empty()) // use has specified a path prefix for this feature
if (!rootPath.empty()) // user has specified a path prefix for this feature
{
// first make slash consistent (sorry for Linux users:this is not necessary for you)
replace(rootPath.begin(), rootPath.end(), L'\\', L'/');

Просмотреть файл

@ -105,7 +105,8 @@ HTKMLFReader::HTKMLFReader(MemoryProviderPtr provider,
LogicError("Please specify at least a single input stream.");
}
auto bundler = std::make_shared<Bundler>(readerConfig, deserializers[0], deserializers, false);
bool cleanse = readerConfig(L"checkData", false);
auto bundler = std::make_shared<Bundler>(readerConfig, deserializers[0], deserializers, cleanse);
int verbosity = readerConfig(L"verbosity", 2);
std::wstring readMethod = config.GetRandomizer();
@ -123,8 +124,6 @@ HTKMLFReader::HTKMLFReader(MemoryProviderPtr provider,
RuntimeError("readMethod must be 'blockRandomize' or 'none'.");
}
m_randomizer->Initialize(nullptr, readerConfig);
// Create output stream descriptions (all dense)
for (auto d : deserializers)
{

Просмотреть файл

@ -8,6 +8,7 @@
#include "Reader.h"
#include "Packer.h"
#include "Config.h"
#include "SequenceEnumerator.h"
namespace Microsoft { namespace MSR { namespace CNTK {
@ -54,8 +55,7 @@ private:
// Memory provider (TODO: this will possibly change in the near future.)
MemoryProviderPtr m_provider;
// TODO: Randomizer won't implement transformer interface in the near future.
TransformerPtr m_randomizer;
SequenceEnumeratorPtr m_randomizer;
// Truncation length for BPTT mode.
size_t m_truncationLength;

Просмотреть файл

@ -417,7 +417,8 @@ public:
if (xpath.empty())
malformed(pathParam);
e = msra::strfun::toint(consume(xpath, L"]"));
if (!xpath.empty())
// TODO \r should be handled elsewhere; refine this
if (!xpath.empty() && xpath != L"\r")
malformed(pathParam);
isarchive = true;
}

Просмотреть файл

@ -11,7 +11,9 @@
#include "ReaderShim.h"
#include "ImageReader.h"
#include "HeapMemoryProvider.h"
#include "CudaMemoryProvider.h"
#include "ImageDataDeserializer.h"
#include "ImageTransformers.h"
#include "CorpusDescriptor.h"
namespace Microsoft { namespace MSR { namespace CNTK {
@ -32,4 +34,41 @@ extern "C" DATAREADER_API void GetReaderD(IDataReader** preader)
*preader = new ReaderShim<double>(factory);
}
// TODO: Not safe from the ABI perspective. Will be uglified to make the interface ABI.
// A factory method for creating image deserializers.
extern "C" DATAREADER_API bool CreateDeserializer(IDataDeserializer** deserializer, const std::wstring& type, const ConfigParameters& deserializerConfig, CorpusDescriptorPtr corpus, bool)
{
if (type == L"ImageDataDeserializer")
*deserializer = new ImageDataDeserializer(corpus, deserializerConfig);
else
// Unknown type.
return false;
// Deserializer created.
return true;
}
// A factory method for creating image transformers.
extern "C" DATAREADER_API bool CreateTransformer(Transformer** transformer, const std::wstring& type, const ConfigParameters& config)
{
if (type == L"Crop")
*transformer = new CropTransformer(config);
else if (type == L"Scale")
*transformer = new ScaleTransformer(config);
else if (type == L"Color")
*transformer = new ColorTransformer(config);
else if (type == L"Intensity")
*transformer = new IntensityTransformer(config);
else if (type == L"Mean")
*transformer = new MeanTransformer(config);
else if (type == L"Transpose")
*transformer = new TransposeTransformer(config);
else
// Unknown type.
return false;
// Transformer created.
return true;
}
}}}

Просмотреть файл

@ -6,33 +6,15 @@
#include "stdafx.h"
#include "ImageConfigHelper.h"
#include "StringUtil.h"
#include "ConfigUtil.h"
namespace Microsoft { namespace MSR { namespace CNTK {
std::vector<std::string> GetSectionsWithParameter(const ConfigParameters& config, const std::string& parameterName)
{
std::vector<std::string> sectionNames;
for (const std::pair<std::string, ConfigParameters>& section : config)
{
if (section.second.ExistsCurrent(parameterName))
{
sectionNames.push_back(section.first);
}
}
if (sectionNames.empty())
{
RuntimeError("ImageReader requires %s parameter.", parameterName.c_str());
}
return sectionNames;
}
ImageConfigHelper::ImageConfigHelper(const ConfigParameters& config)
: m_dataFormat(CHW)
{
std::vector<std::string> featureNames = GetSectionsWithParameter(config, "width");
std::vector<std::string> labelNames = GetSectionsWithParameter(config, "labelDim");
std::vector<std::string> featureNames = GetSectionsWithParameter("ImageReader", config, "width");
std::vector<std::string> labelNames = GetSectionsWithParameter("ImageReader", config, "labelDim");
// REVIEW alexeyk: currently support only one feature and label section.
if (featureNames.size() != 1 || labelNames.size() != 1)
@ -77,7 +59,7 @@ ImageConfigHelper::ImageConfigHelper(const ConfigParameters& config)
m_mapPath = config(L"file");
m_grayscale = config(L"grayscale", false);
m_grayscale = config(L"grayscale", c == 1);
std::string rand = config(L"randomize", "auto");
if (AreEqualIgnoreCase(rand, "auto"))
@ -112,7 +94,7 @@ ImageConfigHelper::ImageConfigHelper(const ConfigParameters& config)
m_cpuThreadCount = config(L"numCPUThreads", 0);
m_multiViewCrop = AreEqualIgnoreCase((string)featureSection(L"cropType", ""), "multiview10");
m_cropType = ParseCropType(featureSection(L"cropType", ""));
}
std::vector<StreamDescriptionPtr> ImageConfigHelper::GetStreams() const
@ -136,4 +118,25 @@ std::string ImageConfigHelper::GetMapPath() const
{
return m_mapPath;
}
CropType ImageConfigHelper::ParseCropType(const std::string &src)
{
if (src.empty() || AreEqualIgnoreCase(src, "center"))
{
return CropType::Center;
}
if (AreEqualIgnoreCase(src, "random"))
{
return CropType::Random;
}
if (AreEqualIgnoreCase(src, "multiview10"))
{
return CropType::MultiView10;
}
RuntimeError("Invalid crop type: %s.", src.c_str());
}
}}}

Просмотреть файл

@ -12,6 +12,13 @@
namespace Microsoft { namespace MSR { namespace CNTK {
enum class CropType
{
Center = 0,
Random = 1,
MultiView10 = 2
};
// A helper class for image specific parameters.
// A simple wrapper around CNTK ConfigParameters.
class ImageConfigHelper
@ -50,12 +57,19 @@ public:
{
return m_grayscale;
}
bool IsMultiViewCrop() const
CropType GetCropType() const
{
return m_multiViewCrop;
return m_cropType;
}
bool IsMultiViewCrop() const
{
return m_cropType == CropType::MultiView10;
}
static CropType ParseCropType(const std::string &src);
private:
ImageConfigHelper(const ImageConfigHelper&) = delete;
ImageConfigHelper& operator=(const ImageConfigHelper&) = delete;
@ -65,8 +79,8 @@ private:
ImageLayoutKind m_dataFormat;
int m_cpuThreadCount;
bool m_randomize;
bool m_multiViewCrop;
bool m_grayscale;
CropType m_cropType;
};
typedef std::shared_ptr<ImageConfigHelper> ImageConfigHelperPtr;

Просмотреть файл

@ -11,6 +11,8 @@
#include <limits>
#include "ImageDataDeserializer.h"
#include "ImageConfigHelper.h"
#include "StringUtil.h"
#include "ConfigUtil.h"
namespace Microsoft { namespace MSR { namespace CNTK {
@ -115,13 +117,68 @@ public:
}
};
// A new constructor to support new compositional configuration,
// that allows composition of deserializers and transforms on inputs.
// For a sample config please see AlexImage end-to-end test.
// TODO: Provide only sequences specified in the corpus descriptor.
ImageDataDeserializer::ImageDataDeserializer(CorpusDescriptorPtr, const ConfigParameters& config)
{
ConfigParameters inputs = config("inputs");
std::vector<std::string> featureNames = GetSectionsWithParameter("ImageDataDeserializer", inputs, "transforms");
std::vector<std::string> labelNames = GetSectionsWithParameter("ImageDataDeserializer", inputs, "labelDim");
// TODO: currently support only one feature and label section.
if (featureNames.size() != 1 || labelNames.size() != 1)
{
RuntimeError(
"ImageReader currently supports a single feature and label stream. '%d' features , '%d' labels found.",
static_cast<int>(featureNames.size()),
static_cast<int>(labelNames.size()));
}
string precision = (ConfigValue)config("precision", "float");
// Feature stream.
ConfigParameters featureSection = inputs(featureNames[0]);
auto features = std::make_shared<StreamDescription>();
features->m_id = 0;
features->m_name = msra::strfun::utf16(featureSection.ConfigName());
features->m_storageType = StorageType::dense;
features->m_elementType = AreEqualIgnoreCase(precision, "float") ? ElementType::tfloat : ElementType::tdouble;
m_streams.push_back(features);
// Label stream.
ConfigParameters label = inputs(labelNames[0]);
size_t labelDimension = label("labelDim");
auto labels = std::make_shared<StreamDescription>();
labels->m_id = 1;
labels->m_name = msra::strfun::utf16(label.ConfigName());
labels->m_sampleLayout = std::make_shared<TensorShape>(labelDimension);
labels->m_storageType = StorageType::sparse_csc;
labels->m_elementType = AreEqualIgnoreCase(precision, "float") ? ElementType::tfloat : ElementType::tdouble;
m_streams.push_back(labels);
m_labelGenerator = labels->m_elementType == ElementType::tfloat ?
(LabelGeneratorPtr)std::make_shared<TypedLabelGenerator<float>>(labelDimension) :
std::make_shared<TypedLabelGenerator<double>>(labelDimension);
m_grayscale = config(L"grayscale", false);
// TODO: multiview should be done on the level of randomizer/transformers - it is responsiblity of the
// TODO: randomizer to collect how many copies each transform needs and request same sequence several times.
bool multiViewCrop = config(L"multiViewCrop", false);
CreateSequenceDescriptions(config(L"file"), labelDimension, multiViewCrop);
}
// TODO: Should be removed at some point.
// Supports old type of ImageReader configuration.
ImageDataDeserializer::ImageDataDeserializer(const ConfigParameters& config)
{
ImageConfigHelper configHelper(config);
m_streams = configHelper.GetStreams();
assert(m_streams.size() == 2);
m_grayscale = configHelper.UseGrayscale();
const auto& label = m_streams[configHelper.GetLabelStreamId()];
const auto& label = m_streams[configHelper.GetLabelStreamId()];
const auto& feature = m_streams[configHelper.GetFeatureStreamId()];
// Expect data in HWC.
@ -147,7 +204,7 @@ ImageDataDeserializer::ImageDataDeserializer(const ConfigParameters& config)
RuntimeError("Unsupported label element type '%d'.", (int)label->m_elementType);
}
CreateSequenceDescriptions(configHelper.GetMapPath(), labelDimension, configHelper);
CreateSequenceDescriptions(configHelper.GetMapPath(), labelDimension, configHelper.IsMultiViewCrop());
}
// Descriptions of chunks exposed by the image reader.
@ -173,7 +230,7 @@ void ImageDataDeserializer::GetSequencesForChunk(size_t chunkId, std::vector<Seq
result.push_back(m_imageSequences[chunkId]);
}
void ImageDataDeserializer::CreateSequenceDescriptions(std::string mapPath, size_t labelDimension, const ImageConfigHelper& config)
void ImageDataDeserializer::CreateSequenceDescriptions(std::string mapPath, size_t labelDimension, bool isMultiCrop)
{
std::ifstream mapFile(mapPath);
if (!mapFile)
@ -181,7 +238,7 @@ void ImageDataDeserializer::CreateSequenceDescriptions(std::string mapPath, size
RuntimeError("Could not open %s for reading.", mapPath.c_str());
}
size_t itemsPerLine = config.IsMultiViewCrop() ? 10 : 1;
size_t itemsPerLine = isMultiCrop ? 10 : 1;
size_t curId = 0;
std::string line;
PathReaderMap knownReaders;

Просмотреть файл

@ -8,8 +8,8 @@
#include "DataDeserializerBase.h"
#include "Config.h"
#include "ByteReader.h"
#include "ImageConfigHelper.h"
#include <unordered_map>
#include "CorpusDescriptor.h"
namespace Microsoft { namespace MSR { namespace CNTK {
@ -21,6 +21,11 @@ namespace Microsoft { namespace MSR { namespace CNTK {
class ImageDataDeserializer : public DataDeserializerBase
{
public:
// A new constructor to support new compositional configuration,
// that allows composition of deserializers and transforms on inputs.
ImageDataDeserializer(CorpusDescriptorPtr corpus, const ConfigParameters& config);
// TODO: This constructor should be deprecated in the future. Compositional config should be used instead.
explicit ImageDataDeserializer(const ConfigParameters& config);
// Gets sequences by specified ids. Order of returned sequences corresponds to the order of provided ids.
@ -34,7 +39,7 @@ public:
private:
// Creates a set of sequence descriptions.
void CreateSequenceDescriptions(std::string mapPath, size_t labelDimension, const ImageConfigHelper& config);
void CreateSequenceDescriptions(std::string mapPath, size_t labelDimension, bool isMultiCrop);
// Image sequence descriptions. Currently, a sequence contains a single sample only.
struct ImageSequenceDescription : public SequenceDescription

Просмотреть файл

@ -13,9 +13,13 @@
#include "ImageDataDeserializer.h"
#include "FramePacker.h"
#include <omp.h>
#include "TransformController.h"
namespace Microsoft { namespace MSR { namespace CNTK {
// TODO: This class should go away eventually.
// TODO: The composition of packer + randomizer + different deserializers in a generic manner is done in the CompositeDataReader.
// TODO: Currently preserving this for backward compatibility with current configs.
ImageReader::ImageReader(MemoryProviderPtr provider,
const ConfigParameters& config)
: m_seed(0), m_provider(provider)
@ -37,7 +41,7 @@ ImageReader::ImageReader(MemoryProviderPtr provider,
auto deserializer = std::make_shared<ImageDataDeserializer>(config);
TransformerPtr randomizer;
SequenceEnumeratorPtr randomizer;
// Request multi-threaded randomizer operation to speed up CPU-intensive image-decoding and transformations.
const bool multithreadedGetNextSequences = true;
if (configHelper.ShouldRandomize())
@ -51,35 +55,27 @@ ImageReader::ImageReader(MemoryProviderPtr provider,
randomizer = std::make_shared<NoRandomizer>(deserializer, multithreadedGetNextSequences);
}
randomizer->Initialize(nullptr, config);
// Create transformations for a single feature stream.
std::wstring featureName = m_streams[configHelper.GetFeatureStreamId()]->m_name;
ConfigParameters featureStream = config(featureName);
auto cropper = std::make_shared<CropTransformer>();
cropper->Initialize(randomizer, config);
std::vector<Transformation> transformations;
transformations.push_back(Transformation{ std::make_shared<CropTransformer>(featureStream), featureName });
transformations.push_back(Transformation{ std::make_shared<ScaleTransformer>(featureStream), featureName });
transformations.push_back(Transformation{ std::make_shared<ColorTransformer>(featureStream), featureName });
transformations.push_back(Transformation{ std::make_shared<IntensityTransformer>(featureStream), featureName });
transformations.push_back(Transformation{ std::make_shared<MeanTransformer>(featureStream), featureName });
auto scaler = std::make_shared<ScaleTransformer>();
scaler->Initialize(cropper, config);
auto color = std::make_shared<ColorTransformer>();
color->Initialize(scaler, config);
auto intensity = std::make_shared<IntensityTransformer>();
intensity->Initialize(color, config);
auto mean = std::make_shared<MeanTransformer>();
mean->Initialize(intensity, config);
TransformerPtr last = mean;
if (configHelper.GetDataFormat() == CHW)
{
last = std::make_shared<TransposeTransformer>();
last->Initialize(mean, config);
transformations.push_back(Transformation{ std::make_shared<TransposeTransformer>(featureStream), featureName });
}
m_transformer = last;
m_sequenceEnumerator = std::make_shared<TransformController>(transformations, randomizer);
m_packer = std::make_shared<FramePacker>(
m_provider,
m_transformer,
m_sequenceEnumerator,
m_streams);
}
@ -96,7 +92,7 @@ void ImageReader::StartEpoch(const EpochConfiguration& config)
RuntimeError("Epoch size cannot be 0.");
}
m_transformer->StartEpoch(config);
m_sequenceEnumerator->StartEpoch(config);
m_packer->StartEpoch(config);
}

Просмотреть файл

@ -6,8 +6,8 @@
#pragma once
#include "Reader.h"
#include "ImageTransformers.h"
#include "Packer.h"
#include "SequenceEnumerator.h"
namespace Microsoft { namespace MSR { namespace CNTK {
@ -34,7 +34,7 @@ private:
std::vector<StreamDescriptionPtr> m_streams;
// A head transformer in a list of transformers.
TransformerPtr m_transformer;
SequenceEnumeratorPtr m_sequenceEnumerator;
// Packer.
PackerPtr m_packer;

Просмотреть файл

@ -3,23 +3,11 @@
<ItemGroup>
<ClCompile Include="Exports.cpp" />
<ClCompile Include="stdafx.cpp" />
<ClCompile Include="..\..\Common\fileutil.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="..\..\Common\File.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="dllmain.cpp" />
<ClCompile Include="ImageTransformers.cpp" />
<ClCompile Include="ImageDataDeserializer.cpp" />
<ClCompile Include="ImageReader.cpp" />
<ClCompile Include="ImageConfigHelper.cpp" />
<ClCompile Include="..\..\Common\Config.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="..\..\Common\ExceptionWithCallStack.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="ZipByteReader.cpp" />
</ItemGroup>
<ItemGroup>

Просмотреть файл

@ -10,11 +10,10 @@
#include "ImageTransformers.h"
#include "Config.h"
#include "ConcStack.h"
#include "ImageConfigHelper.h"
#include "StringUtil.h"
#include "ElementTypeUtils.h"
namespace Microsoft { namespace MSR { namespace CNTK
namespace Microsoft { namespace MSR { namespace CNTK
{
struct ImageSequenceData : DenseSequenceData
@ -24,53 +23,51 @@ struct ImageSequenceData : DenseSequenceData
SequenceDataPtr m_original;
};
void ImageTransformerBase::Initialize(TransformerPtr next,
const ConfigParameters &readerConfig)
ImageTransformerBase::ImageTransformerBase(const ConfigParameters& readerConfig) : m_imageElementType(0)
{
Base::Initialize(next, readerConfig);
m_seed = readerConfig(L"seed", (unsigned int)0);
ImageConfigHelper config(readerConfig);
size_t featureStreamId = config.GetFeatureStreamId();
m_appliedStreamIds.push_back(featureStreamId);
if (m_appliedStreamIds.size() != 1)
{
RuntimeError("Only a single feature stream is supported.");
}
const auto &inputStreams = GetInputStreams();
m_outputStreams.resize(inputStreams.size());
std::copy(inputStreams.begin(), inputStreams.end(), m_outputStreams.begin());
m_seed = readerConfig(L"seed", 0u);
}
SequenceDataPtr
ImageTransformerBase::Apply(SequenceDataPtr sequence,
const StreamDescription &inputStream,
const StreamDescription & /*outputStream*/)
// The method describes how input stream is transformed to the output stream. Called once per applied stream.
// Currently for image transformations we only support dense streams of type double or float.
StreamDescription ImageTransformerBase::Transform(const StreamDescription& inputStream)
{
assert(inputStream.m_storageType == StorageType::dense);
auto inputSequence = static_cast<const DenseSequenceData&>(*sequence.get());
ImageDimensions dimensions(*inputSequence.m_sampleLayout, HWC);
int columns = static_cast<int>(dimensions.m_width);
int rows = static_cast<int>(dimensions.m_height);
int channels = static_cast<int>(dimensions.m_numChannels);
m_inputStream = inputStream;
m_outputStream = m_inputStream;
int typeId = 0;
if (inputStream.m_elementType == ElementType::tdouble)
if (m_inputStream.m_storageType != StorageType::dense)
{
typeId = CV_64F;
LogicError("ImageTransformerBase supports only dense input streams.");
}
else if (inputStream.m_elementType == ElementType::tfloat)
if (m_inputStream.m_elementType == ElementType::tdouble)
{
typeId = CV_32F;
m_imageElementType = CV_64F;
}
else if (m_inputStream.m_elementType == ElementType::tfloat)
{
m_imageElementType = CV_32F;
}
else
{
RuntimeError("Unsupported type");
}
return m_outputStream;
}
// Transforms a single sequence as open cv dense image. Called once per sequence.
SequenceDataPtr ImageTransformerBase::Transform(SequenceDataPtr sequence)
{
auto inputSequence = static_cast<const DenseSequenceData&>(*sequence);
ImageDimensions dimensions(*inputSequence.m_sampleLayout, HWC);
int columns = static_cast<int>(dimensions.m_width);
int rows = static_cast<int>(dimensions.m_height);
int channels = static_cast<int>(dimensions.m_numChannels);
auto result = std::make_shared<ImageSequenceData>();
int type = CV_MAKETYPE(typeId, channels);
int type = CV_MAKETYPE(m_imageElementType, channels);
cv::Mat buffer = cv::Mat(rows, columns, type, inputSequence.m_data);
Apply(sequence->m_id, buffer);
if (!buffer.isContinuous())
@ -92,19 +89,8 @@ ImageTransformerBase::Apply(SequenceDataPtr sequence,
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CropTransformer::Initialize(TransformerPtr next,
const ConfigParameters &readerConfig)
CropTransformer::CropTransformer(const ConfigParameters& config) : ImageTransformerBase(config)
{
ImageTransformerBase::Initialize(next, readerConfig);
auto featureStreamIds = GetAppliedStreamIds();
InitFromConfig(readerConfig(GetInputStreams()[featureStreamIds[0]]->m_name));
}
void CropTransformer::InitFromConfig(const ConfigParameters &config)
{
m_cropType = ParseCropType(config(L"cropType", ""));
floatargvector cropRatio = config(L"cropRatio", "1.0");
m_cropRatioMin = cropRatio[0];
m_cropRatioMax = cropRatio[1];
@ -119,6 +105,8 @@ void CropTransformer::InitFromConfig(const ConfigParameters &config)
m_jitterType = ParseJitterType(config(L"jitterType", ""));
m_cropType = ImageConfigHelper::ParseCropType(config(L"cropType", ""));
if (!config.ExistsCurrent(L"hflip"))
{
m_hFlip = m_cropType == CropType::Random;
@ -136,7 +124,6 @@ void CropTransformer::StartEpoch(const EpochConfiguration &config)
m_curAspectRatioRadius = m_aspectRatioRadius[config.m_epochIndex];
if (!(0 <= m_curAspectRatioRadius && m_curAspectRatioRadius <= 1.0))
InvalidArgument("aspectRatioRadius must be >= 0.0 and <= 1.0");
ImageTransformerBase::StartEpoch(config);
}
@ -178,27 +165,6 @@ void CropTransformer::Apply(size_t id, cv::Mat &mat)
m_rngs.push(std::move(rng));
}
CropTransformer::CropType
CropTransformer::ParseCropType(const std::string &src)
{
if (src.empty() || AreEqualIgnoreCase(src, "center"))
{
return CropType::Center;
}
if (AreEqualIgnoreCase(src, "random"))
{
return CropType::Random;
}
if (AreEqualIgnoreCase(src, "multiview10"))
{
return CropType::MultiView10;
}
RuntimeError("Invalid crop type: %s.", src.c_str());
}
CropTransformer::RatioJitterType
CropTransformer::ParseJitterType(const std::string &src)
{
@ -226,7 +192,7 @@ CropTransformer::ParseJitterType(const std::string &src)
}
cv::Rect CropTransformer::GetCropRect(CropType type, int viewIndex, int crow, int ccol,
double cropRatio, std::mt19937 &rng)
double cropRatio, std::mt19937 &rng)
{
assert(crow > 0);
assert(ccol > 0);
@ -278,27 +244,27 @@ cv::Rect CropTransformer::GetCropRect(CropType type, int viewIndex, int crow, in
int isubView = viewIndex % 5;
switch (isubView)
{
// top-left
// top-left
case 0:
xOff = 0;
yOff = 0;
break;
// top-right
// top-right
case 1:
xOff = ccol - cropSizeX;
yOff = 0;
break;
// bottom-left
// bottom-left
case 2:
xOff = 0;
yOff = crow - cropSizeY;
break;
// bottom-right
// bottom-right
case 3:
xOff = ccol - cropSizeX;
yOff = crow - cropSizeY;
break;
// center
// center
case 4:
xOff = (ccol - cropSizeX) / 2;
yOff = (crow - cropSizeY) / 2;
@ -317,24 +283,13 @@ cv::Rect CropTransformer::GetCropRect(CropType type, int viewIndex, int crow, in
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void ScaleTransformer::Initialize(TransformerPtr next,
const ConfigParameters &readerConfig)
ScaleTransformer::ScaleTransformer(const ConfigParameters& config) : ImageTransformerBase(config)
{
ImageTransformerBase::Initialize(next, readerConfig);
m_interpMap.emplace("nearest", cv::INTER_NEAREST);
m_interpMap.emplace("linear", cv::INTER_LINEAR);
m_interpMap.emplace("cubic", cv::INTER_CUBIC);
m_interpMap.emplace("lanczos", cv::INTER_LANCZOS4);
auto featureStreamIds = GetAppliedStreamIds();
const auto &feature = GetInputStreams()[featureStreamIds[0]];
m_dataType = feature->m_elementType == ElementType::tfloat ? CV_32F : CV_64F;
InitFromConfig(readerConfig(feature->m_name));
}
void ScaleTransformer::InitFromConfig(const ConfigParameters &config)
{
m_imgWidth = config(L"width");
m_imgHeight = config(L"height");
m_imgChannels = config(L"channels");
@ -359,15 +314,24 @@ void ScaleTransformer::InitFromConfig(const ConfigParameters &config)
m_interp.push_back(cv::INTER_LINEAR);
}
// The method describes how input stream is transformed to the output stream. Called once per applied stream.
// Scale transformer transforms the stream so that all samples are of the same size.
StreamDescription ScaleTransformer::Transform(const StreamDescription& inputStream)
{
ImageTransformerBase::Transform(inputStream);
m_outputStream.m_sampleLayout = std::make_shared<TensorShape>(ImageDimensions(m_imgWidth, m_imgHeight, m_imgChannels).AsTensorShape(HWC));
return m_outputStream;
}
void ScaleTransformer::Apply(size_t id, cv::Mat &mat)
{
UNUSED(id);
// If matrix has not been converted to the right type, do it now as rescaling
// requires floating point type.
//
if (mat.type() != CV_MAKETYPE(m_dataType, m_imgChannels))
if (mat.type() != CV_MAKETYPE(m_imageElementType, m_imgChannels))
{
mat.convertTo(mat, m_dataType);
mat.convertTo(mat, m_imageElementType);
}
auto seed = GetSeed();
@ -375,7 +339,6 @@ void ScaleTransformer::Apply(size_t id, cv::Mat &mat)
auto index = UniIntT(0, static_cast<int>(m_interp.size()) - 1)(*rng);
assert(m_interp.size() > 0);
cv::resize(mat, mat, cv::Size((int)m_imgWidth, (int)m_imgHeight), 0, 0, m_interp[index]);
m_rngs.push(std::move(rng));
@ -383,16 +346,7 @@ void ScaleTransformer::Apply(size_t id, cv::Mat &mat)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void MeanTransformer::Initialize(TransformerPtr next,
const ConfigParameters &readerConfig)
{
ImageTransformerBase::Initialize(next, readerConfig);
auto featureStreamIds = GetAppliedStreamIds();
InitFromConfig(readerConfig(GetInputStreams()[featureStreamIds[0]]->m_name));
}
void MeanTransformer::InitFromConfig(const ConfigParameters &config)
MeanTransformer::MeanTransformer(const ConfigParameters& config) : ImageTransformerBase(config)
{
std::wstring meanFile = config(L"meanFile", L"");
if (meanFile.empty())
@ -425,7 +379,7 @@ void MeanTransformer::Apply(size_t id, cv::Mat &mat)
UNUSED(id);
assert(m_meanImg.size() == cv::Size(0, 0) ||
(m_meanImg.size() == mat.size() &&
m_meanImg.channels() == mat.channels()));
m_meanImg.channels() == mat.channels()));
// REVIEW alexeyk: check type conversion (float/double).
if (m_meanImg.size() == mat.size())
@ -434,48 +388,34 @@ void MeanTransformer::Apply(size_t id, cv::Mat &mat)
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void TransposeTransformer::Initialize(TransformerPtr next,
const ConfigParameters &readerConfig)
// The method describes how input stream is transformed to the output stream. Called once per applied stream.
// Transpose transformer expects the dense input stream with samples as HWC and outputs CHW.
StreamDescription TransposeTransformer::Transform(const StreamDescription& inputStream)
{
TransformerBase::Initialize(next, readerConfig);
// Currently we only support a single stream.
ImageConfigHelper config(readerConfig);
size_t featureStreamId = config.GetFeatureStreamId();
m_appliedStreamIds.push_back(featureStreamId);
const auto &inputStreams = GetInputStreams();
m_outputStreams.resize(inputStreams.size());
std::copy(inputStreams.begin(), inputStreams.end(), m_outputStreams.begin());
for (auto id : m_appliedStreamIds)
m_inputStream = inputStream;
if (m_inputStream.m_storageType != StorageType::dense)
{
auto &stream = inputStreams[id];
ImageDimensions dimensions(*stream->m_sampleLayout, HWC);
// Changing from NHWC to NCHW (note: row-major notation)
auto changedStream = std::make_shared<StreamDescription>(*stream);
changedStream->m_sampleLayout = std::make_shared<TensorShape>(dimensions.AsTensorShape(CHW));
m_outputStreams[id] = changedStream;
LogicError("Transpose transformer supports only dense streams.");
}
// Changing from NHWC to NCHW
ImageDimensions dimensions(*m_inputStream.m_sampleLayout, HWC);
m_outputStream = m_inputStream;
m_outputStream.m_sampleLayout = std::make_shared<TensorShape>(dimensions.AsTensorShape(CHW));
return m_outputStream;
}
SequenceDataPtr
TransposeTransformer::Apply(SequenceDataPtr inputSequence,
const StreamDescription &inputStream,
const StreamDescription &outputStream)
// Transformation of the sequence.
SequenceDataPtr TransposeTransformer::Transform(SequenceDataPtr sequence)
{
if (inputStream.m_elementType == ElementType::tdouble)
if (m_inputStream.m_elementType == ElementType::tdouble)
{
return TypedApply<double>(inputSequence, inputStream, outputStream);
return TypedTransform<double>(sequence);
}
if (inputStream.m_elementType == ElementType::tfloat)
if (m_inputStream.m_elementType == ElementType::tfloat)
{
return TypedApply<float>(inputSequence, inputStream, outputStream);
return TypedTransform<float>(sequence);
}
RuntimeError("Unsupported type");
@ -490,21 +430,17 @@ struct DenseSequenceWithBuffer : DenseSequenceData
};
template <class TElemType>
SequenceDataPtr TransposeTransformer::TypedApply(SequenceDataPtr sequence,
const StreamDescription &inputStream,
const StreamDescription &outputStream)
SequenceDataPtr TransposeTransformer::TypedTransform(SequenceDataPtr sequence)
{
assert(inputStream.m_storageType == StorageType::dense);
auto inputSequence = static_cast<DenseSequenceData&>(*sequence.get());
auto inputSequence = static_cast<DenseSequenceData&>(*sequence);
assert(inputSequence.m_numberOfSamples == 1);
assert(inputStream.m_sampleLayout->GetNumElements() == outputStream.m_sampleLayout->GetNumElements());
size_t count = inputStream.m_sampleLayout->GetNumElements() * GetSizeByType(inputStream.m_elementType);
size_t count = m_inputStream.m_sampleLayout->GetNumElements() * GetSizeByType(m_inputStream.m_elementType);
auto result = std::make_shared<DenseSequenceWithBuffer>();
result->m_buffer.resize(count);
ImageDimensions dimensions(*inputStream.m_sampleLayout, ImageLayoutKind::HWC);
ImageDimensions dimensions(*m_inputStream.m_sampleLayout, ImageLayoutKind::HWC);
size_t rowCount = dimensions.m_height * dimensions.m_width;
size_t channelCount = dimensions.m_numChannels;
@ -519,7 +455,7 @@ SequenceDataPtr TransposeTransformer::TypedApply(SequenceDataPtr sequence,
}
}
result->m_sampleLayout = outputStream.m_sampleLayout;
result->m_sampleLayout = m_outputStream.m_sampleLayout;
result->m_data = result->m_buffer.data();
result->m_numberOfSamples = inputSequence.m_numberOfSamples;
return result;
@ -527,16 +463,7 @@ SequenceDataPtr TransposeTransformer::TypedApply(SequenceDataPtr sequence,
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void IntensityTransformer::Initialize(TransformerPtr next,
const ConfigParameters &readerConfig)
{
ImageTransformerBase::Initialize(next, readerConfig);
auto featureStreamIds = GetAppliedStreamIds();
InitFromConfig(readerConfig(GetInputStreams()[featureStreamIds[0]]->m_name));
}
void IntensityTransformer::InitFromConfig(const ConfigParameters &config)
IntensityTransformer::IntensityTransformer(const ConfigParameters &config) : ImageTransformerBase(config)
{
m_stdDev = config(L"intensityStdDev", ConfigParameters::Array(doubleargvector(vector<double>{0.0})));
std::wstring intFile = config(L"intensityFile", L"");
@ -564,7 +491,6 @@ void IntensityTransformer::InitFromConfig(const ConfigParameters &config)
void IntensityTransformer::StartEpoch(const EpochConfiguration &config)
{
m_curStdDev = m_stdDev[config.m_epochIndex];
ImageTransformerBase::StartEpoch(config);
}
@ -618,15 +544,7 @@ void IntensityTransformer::Apply(cv::Mat &mat)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void ColorTransformer::Initialize(TransformerPtr next, const ConfigParameters &readerConfig)
{
ImageTransformerBase::Initialize(next, readerConfig);
auto featureStreamIds = GetAppliedStreamIds();
InitFromConfig(readerConfig(GetInputStreams()[featureStreamIds[0]]->m_name));
}
void ColorTransformer::InitFromConfig(const ConfigParameters &config)
ColorTransformer::ColorTransformer(const ConfigParameters &config) : ImageTransformerBase(config)
{
m_brightnessRadius = config(L"brightnessRadius", ConfigParameters::Array(doubleargvector(vector<double>{0.0})));
m_contrastRadius = config(L"contrastRadius", ConfigParameters::Array(doubleargvector(vector<double>{0.0})));

Просмотреть файл

@ -11,8 +11,8 @@
#include "Transformer.h"
#include "ConcStack.h"
#include "TransformerBase.h"
#include "Config.h"
#include "ImageConfigHelper.h"
namespace Microsoft { namespace MSR { namespace CNTK {
@ -20,45 +20,39 @@ class ConfigParameters;
// Base class for image transformations based on OpenCV
// that helps to wrap the sequences into OpenCV::Mat class.
class ImageTransformerBase : public TransformerBase
class ImageTransformerBase : public Transformer
{
public:
// Initializes the transformer.
void Initialize(TransformerPtr next, const ConfigParameters &readerConfig) override;
explicit ImageTransformerBase(const ConfigParameters& config);
void StartEpoch(const EpochConfiguration&) override {}
// Transformation of the stream.
StreamDescription Transform(const StreamDescription& inputStream) override;
// Transformation of the sequence.
SequenceDataPtr Transform(SequenceDataPtr sequence) override;
protected:
const std::vector<StreamId> &GetAppliedStreamIds() const override
{
return m_appliedStreamIds;
}
const std::vector<StreamDescriptionPtr>& GetOutputStreams() const override
{
return m_outputStreams;
}
// Seed getter.
unsigned int GetSeed() const
{
return m_seed;
}
using Base = TransformerBase;
using Base = Transformer;
using UniRealT = std::uniform_real_distribution<double>;
using UniIntT = std::uniform_int_distribution<int>;
// Applies transformation to the sequence.
SequenceDataPtr Apply(SequenceDataPtr inputSequence,
const StreamDescription &inputStream,
const StreamDescription &outputStream) override;
// The only function that should be redefined by the inherited classes.
virtual void Apply(size_t id, cv::Mat &from) = 0;
private:
std::vector<StreamDescriptionPtr> m_outputStreams;
std::vector<StreamId> m_appliedStreamIds;
protected:
StreamDescription m_inputStream;
StreamDescription m_outputStream;
unsigned int m_seed;
int m_imageElementType;
conc_stack<std::unique_ptr<std::mt19937>> m_rngs;
};
// Crop transformation of the image.
@ -66,18 +60,12 @@ private:
class CropTransformer : public ImageTransformerBase
{
public:
void Initialize(TransformerPtr next, const ConfigParameters &readerConfig) override;
explicit CropTransformer(const ConfigParameters& config);
private:
void Apply(size_t id, cv::Mat &mat) override;
private:
enum class CropType
{
Center = 0,
Random = 1,
MultiView10 = 2
};
enum class RatioJitterType
{
None = 0,
@ -86,11 +74,8 @@ private:
UniArea = 3
};
void InitFromConfig(const ConfigParameters &config);
void StartEpoch(const EpochConfiguration &config) override;
CropType ParseCropType(const std::string &src);
RatioJitterType ParseJitterType(const std::string &src);
cv::Rect GetCropRect(CropType type, int viewIndex, int crow, int ccol, double cropRatio, std::mt19937 &rng);
@ -109,11 +94,11 @@ private:
class ScaleTransformer : public ImageTransformerBase
{
public:
void Initialize(TransformerPtr next,
const ConfigParameters &readerConfig) override;
explicit ScaleTransformer(const ConfigParameters& config);
StreamDescription Transform(const StreamDescription& inputStream) override;
private:
void InitFromConfig(const ConfigParameters &config);
void Apply(size_t id, cv::Mat &mat) override;
using StrToIntMapT = std::unordered_map<std::string, int>;
@ -121,7 +106,6 @@ private:
std::vector<int> m_interp;
conc_stack<std::unique_ptr<std::mt19937>> m_rngs;
int m_dataType;
size_t m_imgWidth;
size_t m_imgHeight;
size_t m_imgChannels;
@ -131,45 +115,34 @@ private:
class MeanTransformer : public ImageTransformerBase
{
public:
void Initialize(TransformerPtr next,
const ConfigParameters &readerConfig) override;
explicit MeanTransformer(const ConfigParameters& config);
private:
void Apply(size_t id, cv::Mat &mat) override;
void InitFromConfig(const ConfigParameters &config);
cv::Mat m_meanImg;
};
// Transpose transformation from HWC to CHW (note: row-major notation).
class TransposeTransformer : public TransformerBase
class TransposeTransformer : public Transformer
{
public:
void Initialize(TransformerPtr next, const ConfigParameters &readerConfig) override;
explicit TransposeTransformer(const ConfigParameters&) {}
protected:
const std::vector<StreamId>& GetAppliedStreamIds() const override
{
return m_appliedStreamIds;
}
void StartEpoch(const EpochConfiguration&) override {}
const std::vector<StreamDescriptionPtr>& GetOutputStreams() const override
{
return m_outputStreams;
}
// Transformation of the stream.
StreamDescription Transform(const StreamDescription& inputStream) override;
SequenceDataPtr Apply(SequenceDataPtr inputSequence,
const StreamDescription &inputStream,
const StreamDescription &outputStream) override;
// Transformation of the sequence.
SequenceDataPtr Transform(SequenceDataPtr sequence) override;
private:
template <class TElement>
SequenceDataPtr TypedApply(SequenceDataPtr inputSequence,
const StreamDescription &inputStream,
const StreamDescription &outputStream);
SequenceDataPtr TypedTransform(SequenceDataPtr inputSequence);
std::vector<StreamDescriptionPtr> m_outputStreams;
std::vector<StreamId> m_appliedStreamIds;
StreamDescription m_inputStream;
StreamDescription m_outputStream;
};
// Intensity jittering based on PCA transform as described in original AlexNet paper
@ -180,11 +153,9 @@ private:
class IntensityTransformer : public ImageTransformerBase
{
public:
void Initialize(TransformerPtr next, const ConfigParameters &readerConfig) override;
explicit IntensityTransformer(const ConfigParameters& config);
private:
void InitFromConfig(const ConfigParameters &config);
void StartEpoch(const EpochConfiguration &config) override;
void Apply(size_t id, cv::Mat &mat) override;
@ -205,11 +176,9 @@ private:
class ColorTransformer : public ImageTransformerBase
{
public:
void Initialize(TransformerPtr next, const ConfigParameters &readerConfig) override;
explicit ColorTransformer(const ConfigParameters& config);
private:
void InitFromConfig(const ConfigParameters &config);
void StartEpoch(const EpochConfiguration &config) override;
void Apply(size_t id, cv::Mat &mat) override;

Просмотреть файл

@ -7,7 +7,7 @@
#include <vector>
#include "Transformer.h"
#include "SequenceEnumerator.h"
#include "DataDeserializer.h"
#include "ChunkRandomizer.h"
#include "SequenceRandomizer.h"
@ -31,8 +31,7 @@ namespace Microsoft { namespace MSR { namespace CNTK {
// This class is responsible for decimation and loading the data chunks in to memory.
// Actual randomization happens in ChunkRandomizer and SequenceRandomizer.
// TODO: The behavior can be simplified by only randomizing sequences forward.
// TODO: The layering will be changed, when we move transformers under the randomizer, it won't be a transformer anymore.
class BlockRandomizer : public Transformer
class BlockRandomizer : public SequenceEnumerator
{
public:
// Currently, decimation based on sequences or chunks is supported.
@ -50,8 +49,6 @@ public:
bool useLegacyRandomization = false,
bool multithreadedGetNextSequences = false);
virtual void Initialize(TransformerPtr, const ConfigParameters&) override {};
// Starts a new epoch.
virtual void StartEpoch(const EpochConfiguration& config) override;

Просмотреть файл

@ -0,0 +1,40 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.
//
#pragma once
#include <string>
#include <vector>
#include "Config.h"
namespace Microsoft { namespace MSR { namespace CNTK {
// Helper function to get sections that contains specified parameter.
inline std::vector<std::string> TryGetSectionsWithParameter(const ConfigParameters& config, const std::string& parameterName)
{
std::vector<std::string> sectionNames;
for (const std::pair<std::string, ConfigParameters>& section : config)
{
if (section.second.ExistsCurrent(parameterName))
{
sectionNames.push_back(section.first);
}
}
return sectionNames;
}
// Helper function to get sections that contains specified parameter. Throws if the parameter does not exist.
inline std::vector<std::string> GetSectionsWithParameter(const std::string& reader, const ConfigParameters& config, const std::string& parameterName)
{
auto result = TryGetSectionsWithParameter(config, parameterName);
if (result.empty())
{
RuntimeError("%s requires %s parameter.", reader.c_str(), parameterName.c_str());
}
return result;
}
}}}

Просмотреть файл

@ -15,12 +15,10 @@ class FramePacker : public SequencePacker
public:
FramePacker(
MemoryProviderPtr memoryProvider,
TransformerPtr transformer,
SequenceEnumeratorPtr sequenceEnumerator,
const std::vector<StreamDescriptionPtr>& streams) :
SequencePacker(memoryProvider, transformer, streams)
{
}
SequencePacker(memoryProvider, sequenceEnumerator, streams)
{}
private:

Просмотреть файл

@ -42,10 +42,6 @@ NoRandomizer::NoRandomizer(IDataDeserializerPtr deserializer, bool multithreaded
m_totalNumberOfSamples = sampleCount;
}
void NoRandomizer::Initialize(TransformerPtr, const ConfigParameters&)
{
}
size_t NoRandomizer::GetChunkIndexOf(size_t samplePosition)
{
auto result = std::upper_bound(m_chunkSampleOffset.begin(), m_chunkSampleOffset.end(), samplePosition);

Просмотреть файл

@ -6,10 +6,8 @@
#pragma once
#include <vector>
#include <map>
#include "Transformer.h"
#include "SequenceEnumerator.h"
#include "DataDeserializer.h"
#include "SequenceRandomizer.h"
namespace Microsoft { namespace MSR { namespace CNTK {
@ -17,13 +15,11 @@ namespace Microsoft { namespace MSR { namespace CNTK {
// Used training where the training data has already been pre - randomized.
// TODO: currently this code moved from the old block randomizer.
// TODO: The class will be further refactored and common based will be extracted with BlockRandomizer.
// TODO: This layering will be changed, when we move transformers under the randomizer, it won't be a transformer anymore.
class NoRandomizer : public Transformer
class NoRandomizer : public SequenceEnumerator
{
public:
NoRandomizer(IDataDeserializerPtr deserializer, bool multithreadedGetNextSequences = false);
virtual void Initialize(TransformerPtr next, const ConfigParameters& readerConfig) override;
virtual void StartEpoch(const EpochConfiguration& config) override;
virtual Sequences GetNextSequences(size_t sampleCount) override;
virtual std::vector<StreamDescriptionPtr> GetStreamDescriptions() const override

Просмотреть файл

@ -34,13 +34,13 @@ void PackerBase::StartEpoch(const EpochConfiguration& config)
}
PackerBase::PackerBase(MemoryProviderPtr memoryProvider,
TransformerPtr transformer,
SequenceEnumeratorPtr sequenceEnumerator,
const std::vector<StreamDescriptionPtr>& streams) :
m_transformer(transformer),
m_sequenceEnumerator(sequenceEnumerator),
m_minibatchSize(0),
m_outputStreamDescriptions(streams)
{
m_inputStreamDescriptions = m_transformer->GetStreamDescriptions();
m_inputStreamDescriptions = sequenceEnumerator->GetStreamDescriptions();
assert(m_inputStreamDescriptions.size() != 0);
assert(m_inputStreamDescriptions.size() == m_outputStreamDescriptions.size());

Просмотреть файл

@ -7,9 +7,8 @@
#include "Reader.h"
#include "MemoryProvider.h"
#include "Transformer.h"
#include "SequenceEnumerator.h"
#include "Packer.h"
#include <deque>
namespace Microsoft { namespace MSR { namespace CNTK {
@ -34,7 +33,7 @@ protected:
};
PackerBase(MemoryProviderPtr memoryProvider,
TransformerPtr transformer,
SequenceEnumeratorPtr sequenceEnumerator,
const std::vector<StreamDescriptionPtr>& streams);
typedef std::vector<SequenceDataPtr> StreamBatch;
@ -57,7 +56,7 @@ protected:
// (sampleOffset is equal to the sum of sample sizes of all preceding samples).
void PackDenseSample(char* destination, SequenceDataPtr sequence, size_t sampleOffset, size_t sampleSize);
TransformerPtr m_transformer;
SequenceEnumeratorPtr m_sequenceEnumerator;
// Input stream descriptions provided by the transformer.
std::vector<StreamDescriptionPtr> m_outputStreamDescriptions;

Просмотреть файл

@ -40,17 +40,19 @@
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="ConfigUtil.h" />
<ClInclude Include="CorpusDescriptor.h" />
<ClInclude Include="Bundler.h" />
<ClInclude Include="ChunkRandomizer.h" />
<ClInclude Include="TransformController.h" />
<ClInclude Include="DataDeserializerBase.h" />
<ClInclude Include="BlockRandomizer.h" />
<ClInclude Include="Packer.h" />
<ClInclude Include="PackerBase.h" />
<ClInclude Include="SequenceEnumerator.h" />
<ClInclude Include="SequencePacker.h" />
<ClInclude Include="SequenceRandomizer.h" />
<ClInclude Include="StringToIdMap.h" />
<ClInclude Include="TransformerBase.h" />
<ClInclude Include="NoRandomizer.h" />
<ClInclude Include="CudaMemoryProvider.h" />
<ClInclude Include="DataDeserializer.h" />
@ -78,4 +80,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

Просмотреть файл

@ -28,9 +28,6 @@
<ClInclude Include="ElementTypeUtils.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="TransformerBase.h">
<Filter>Transformers</Filter>
</ClInclude>
<ClInclude Include="DataDeserializerBase.h">
<Filter>Deserializers</Filter>
</ClInclude>
@ -64,9 +61,18 @@
<ClInclude Include="TruncatedBpttPacker.h">
<Filter>Packers</Filter>
</ClInclude>
<ClInclude Include="..\ExperimentalHTKMLFReader\CorpusDescriptor.h">
<ClInclude Include="SequenceEnumerator.h">
<Filter>Interfaces</Filter>
</ClInclude>
<ClInclude Include="ConfigUtil.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="CorpusDescriptor.h">
<Filter>Interfaces</Filter>
</ClInclude>
<ClInclude Include="TransformController.h">
<Filter>Transformers</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="NoRandomizer.cpp">

Просмотреть файл

@ -0,0 +1,52 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.
//
#pragma once
#include <vector>
#include "DataDeserializer.h"
namespace Microsoft { namespace MSR { namespace CNTK {
class ConfigParameters;
// Defines a set of sequences for a set of streams.
// Return by the sequence enumerator.
struct Sequences
{
// Data for up to a requested number of sequences.
// Indices in the outer vector have to correspond to the stream ids returned from the GetStreamDescriptions().
std::vector<std::vector<SequenceDataPtr>> m_data;
// Indicates whether the epoch ends with the data returned.
bool m_endOfEpoch = false;
};
class SequenceEnumerator;
typedef std::shared_ptr<SequenceEnumerator> SequenceEnumeratorPtr;
// Sequence enumerator is internal interface used by the packer to get a set of new sequences.
// It is implemented either by different randomizers or by TransformController that can wrap the randomizer
// and apply different transforms on top of data.
// This interface is not exposed to the developers of deserializers/plugins, internal to CNTK.
class SequenceEnumerator
{
public:
// Describes streams the sequence enumerator produces.
virtual std::vector<StreamDescriptionPtr> GetStreamDescriptions() const = 0;
// Sets current epoch configuration.
virtual void StartEpoch(const EpochConfiguration& config) = 0;
// Gets next sequences up to a maximum count of samples.
virtual Sequences GetNextSequences(size_t sampleCount) = 0;
virtual ~SequenceEnumerator()
{
}
};
}}}

Просмотреть файл

@ -38,7 +38,7 @@ MBLayoutPtr SequencePacker::CreateMBLayout(const StreamBatch& batch)
Minibatch SequencePacker::ReadMinibatch()
{
auto sequences = m_transformer->GetNextSequences(m_minibatchSize);
auto sequences = m_sequenceEnumerator->GetNextSequences(m_minibatchSize);
const auto& batch = sequences.m_data;
Minibatch minibatch(sequences.m_endOfEpoch);

Просмотреть файл

@ -16,9 +16,9 @@ class SequencePacker : public PackerBase
public:
SequencePacker(
MemoryProviderPtr memoryProvider,
TransformerPtr transformer,
SequenceEnumeratorPtr sequenceEnumerator,
const std::vector<StreamDescriptionPtr>& streams) :
PackerBase(memoryProvider, transformer, streams)
PackerBase(memoryProvider, sequenceEnumerator, streams)
{
}

Просмотреть файл

@ -0,0 +1,105 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.
//
#pragma once
#include <set>
#include "Transformer.h"
#include "SequenceEnumerator.h"
namespace Microsoft { namespace MSR { namespace CNTK {
// A pair of a transformer and the stream name to which the transformer should be a applied.
struct Transformation
{
TransformerPtr m_transformer;
std::wstring m_streamName;
};
// A class responsible for applying a list of transformers to sequences and stream descriptions.
// Delegates retrieving of sequences to another sequence provider(such as randomizer) and applies transformations after retrieving.
// Usually used by the packer to get next set of sequences.
class TransformController : public SequenceEnumerator
{
public:
TransformController(const std::vector<Transformation>& transformations, SequenceEnumeratorPtr sequenceProvider)
: m_sequenceProvider(sequenceProvider)
{
// Applying transformations to stream descriptions,
// i.e. a transformation can change a stream from dense to sparse.
std::vector<StreamDescriptionPtr> transformedStreams = m_sequenceProvider->GetStreamDescriptions();
for (auto& t : transformations)
{
size_t streamId = GetStreamId(t.m_streamName, transformedStreams);
m_transformations.push_back(std::make_pair(t, streamId));
transformedStreams[streamId] = std::make_shared<StreamDescription>(t.m_transformer->Transform(*transformedStreams[streamId]));
}
m_outputStreams = transformedStreams;
}
// Sets configuration for the current epoch.
// Some transformers can change their config based on the epoch.
virtual void StartEpoch(const EpochConfiguration &config) override
{
assert(m_sequenceProvider != nullptr);
for (auto& t : m_transformations)
{
t.first.m_transformer->StartEpoch(config);
}
m_sequenceProvider->StartEpoch(config);
}
// Description of streams that the transformer provides.
virtual std::vector<StreamDescriptionPtr> GetStreamDescriptions() const override
{
return m_outputStreams;
}
// Gets next sequences up to a maximum count of samples,
// applying transformers to particular streams.
virtual Sequences GetNextSequences(size_t sampleCount) override
{
assert(m_sequenceProvider != nullptr);
Sequences sequences = m_sequenceProvider->GetNextSequences(sampleCount);
if (sequences.m_data.empty())
{
return sequences;
}
#pragma omp parallel for schedule(dynamic)
for (int j = 0; j < sequences.m_data.front().size(); ++j)
{
for (auto& t : m_transformations)
{
sequences.m_data[t.second][j] = t.first.m_transformer->Transform(sequences.m_data[t.second][j]);
}
}
return sequences;
}
private:
size_t GetStreamId(const std::wstring streamName, const std::vector<StreamDescriptionPtr>& streams) const
{
for (const auto& s : streams)
{
if (s->m_name == streamName)
{
return s->m_id;
}
}
assert(false);
LogicError("Unexpected stream specified for transformation.");
}
SequenceEnumeratorPtr m_sequenceProvider;
std::vector<StreamDescriptionPtr> m_outputStreams;
std::vector<std::pair<Transformation, size_t>> m_transformations;
};
}}}

Просмотреть файл

@ -5,57 +5,33 @@
#pragma once
#include <vector>
#include "DataDeserializer.h"
namespace Microsoft { namespace MSR { namespace CNTK {
class ConfigParameters;
// Defines a set of sequences.
struct Sequences
{
Sequences()
: m_endOfEpoch(false)
{
}
// Data for up to a requested number of sequences.
// Indices in the inner vector have to correspond to the stream IDs
// given by GetStream().
std::vector<std::vector<SequenceDataPtr>> m_data;
// Indicates whether the epoch ends with the data returned.
bool m_endOfEpoch;
};
class Transformer;
typedef std::shared_ptr<Transformer> TransformerPtr;
// Defines a data transformation interface.
// Transformers are responsible for doing custom transformation of sequences.
// For example for images, there could be scale, crop, or median transformation.
// TODO: Adopt to the C#/Java iterator pattern.
class Transformer
{
public:
// Initialization.
virtual void Initialize(
TransformerPtr next,
const ConfigParameters& readerConfig) = 0;
// Starts a new epoch. Some transformers have to change their configuration
// based on the epoch.
virtual void StartEpoch(const EpochConfiguration &config) = 0;
// Describes streams the transformer produces.
virtual std::vector<StreamDescriptionPtr> GetStreamDescriptions() const = 0;
// Transformers are applied on a particular input stream - this method should describe
// how inputStream is transformed to the output stream (return value)
virtual StreamDescription Transform(const StreamDescription& inputStream) = 0;
// Sets current epoch configuration.
virtual void StartEpoch(const EpochConfiguration& config) = 0;
// Gets next sequences up to a maximum count of samples.
// The return value can be used until the next call to GetNextSequences.
virtual Sequences GetNextSequences(size_t sampleCount) = 0;
// This method should describe how input sequences is transformed to the output sequence.
virtual SequenceDataPtr Transform(SequenceDataPtr inputSequence) = 0;
virtual ~Transformer()
{
}
};
} } }
}}}

Просмотреть файл

@ -1,91 +0,0 @@
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.
//
#pragma once
#include <set>
#include "Transformer.h"
namespace Microsoft { namespace MSR { namespace CNTK {
class TransformerBase : public Transformer
{
public:
// Initializes the transformer.
virtual void Initialize(TransformerPtr next,
const ConfigParameters &) override
{
m_next = next;
m_inputStreams = m_next->GetStreamDescriptions();
}
// Sets configuration for the current epoch.
virtual void StartEpoch(const EpochConfiguration &config) override
{
assert(m_next != nullptr);
m_next->StartEpoch(config);
}
// Description of streams that the transformer provides.
virtual std::vector<StreamDescriptionPtr> GetStreamDescriptions() const override
{
return this->GetOutputStreams();
}
// Gets next sequences up to a maximum count of samples.
// Sequences contains data for all streams.
virtual Sequences GetNextSequences(size_t sampleCount) override
{
assert(m_next != nullptr);
Sequences samples = m_next->GetNextSequences(sampleCount);
if (samples.m_data.empty())
{
return samples;
}
const auto &appliedStreamIds = GetAppliedStreamIds();
const auto &outputStreams = GetOutputStreams();
// TODO: Move parallelization on the outer loop with collapse.
for (int j = 0; j < appliedStreamIds.size(); ++j)
{
size_t streamId = appliedStreamIds[j];
auto& allSamples = samples.m_data[streamId];
#pragma omp parallel for schedule(dynamic)
for (int i = 0; i < allSamples.size(); ++i)
{
allSamples[i] = Apply(allSamples[i], *m_inputStreams[streamId], *outputStreams[streamId]);
}
}
return samples;
}
protected:
virtual const std::vector<StreamId> &GetAppliedStreamIds() const = 0;
virtual const std::vector<StreamDescriptionPtr> &GetOutputStreams() const
{
return m_inputStreams;
}
const std::vector<StreamDescriptionPtr> &GetInputStreams()
{
return m_inputStreams;
}
private:
// Applies transformation to the sequence.
virtual SequenceDataPtr Apply(SequenceDataPtr inputSequence,
const StreamDescription &inputStream,
const StreamDescription &outputStream) = 0;
TransformerPtr m_next;
std::vector<StreamId> m_featureStreamIds;
std::vector<StreamDescriptionPtr> m_inputStreams;
};
}}}

Просмотреть файл

@ -107,9 +107,9 @@ struct SequenceBuffer
TruncatedBPTTPacker::TruncatedBPTTPacker(
MemoryProviderPtr memoryProvider,
TransformerPtr transformer,
SequenceEnumeratorPtr sequenceEnumerator,
const vector<StreamDescriptionPtr>& streams)
: PackerBase(memoryProvider, transformer, streams),
: PackerBase(memoryProvider, sequenceEnumerator, streams),
m_truncationSize(0)
{
auto sparseOutput = find_if(m_outputStreamDescriptions.begin(), m_outputStreamDescriptions.end(), [](const StreamDescriptionPtr& s){ return s->m_storageType == StorageType::sparse_csc; });
@ -148,6 +148,15 @@ void TruncatedBPTTPacker::StartEpoch(const EpochConfiguration& config)
// Estimating the number of parallel sequences to pack (slots) from the minibatch size and truncation size.
m_numParallelSequences = max(1, (int)floor(m_minibatchSize / m_truncationSize));
if (config.m_numberOfWorkers > m_numParallelSequences)
{
InvalidArgument("Too many workers for minibatch size; please increase minibatch size or decrease number of workers.");
}
m_numParallelSequences =
(m_numParallelSequences / config.m_numberOfWorkers) +
(config.m_workerRank < (m_numParallelSequences % config.m_numberOfWorkers) ? 1 : 0);
m_sequenceBufferPerStream.clear();
// Preparing the buffers.
@ -303,7 +312,7 @@ void TruncatedBPTTPacker::ReadSequencesToSlot(size_t slotIndex)
{
// We need a single sequence, potentially we can request (m_truncationSize - slot.AvailableNumberOfSamples())
// to be more efficient. In reality the truncation size usually is less the sequence size.
auto s = m_transformer->GetNextSequences(1);
auto s = m_sequenceEnumerator->GetNextSequences(1);
if (s.m_endOfEpoch)
{
break;

Просмотреть файл

@ -7,7 +7,6 @@
#include "Reader.h"
#include "MemoryProvider.h"
#include "Transformer.h"
#include "PackerBase.h"
namespace Microsoft { namespace MSR { namespace CNTK {
@ -23,7 +22,7 @@ class TruncatedBPTTPacker : public PackerBase
public:
TruncatedBPTTPacker(
MemoryProviderPtr memoryProvider,
TransformerPtr transformer,
SequenceEnumeratorPtr sequenceEnumerator,
const std::vector<StreamDescriptionPtr>& streams);
virtual Minibatch ReadMinibatch() override;

Просмотреть файл

@ -1,47 +1,4 @@
ModelDir = "$RunDir$/models"
ndlMacros=$ConfigDir$/Macros.ndl
precision=float
deviceId=Auto
command=Train:AddTop5Eval:Test
parallelTrain=false
traceLevel=1
numMBsToShowResult=100
Train=[
action=train
modelPath=$ModelDir$/AlexNet
NDLNetworkBuilder=[
networkDescription=$ConfigDir$/AlexNet.ndl
]
SGD=[
epochSize=0
minibatchSize=16
learningRatesPerMB=0.01*20:0.003*12:0.001*28:0.0003
momentumPerMB=0.9
maxEpochs=3
gradUpdateType=None
L2RegWeight=0.0005
dropoutRate=0*5:0.5
ParallelTrain=[
parallelizationMethod=DataParallelSGD
distributedMBReading=true
parallelizationStartEpoch=1
DataParallelSGD=[
gradientBits=1
]
]
numMBsToShowResult=100
]
reader=[
readerType=ImageReader
# Map file which maps images to labels using the following format:
@ -78,23 +35,7 @@ Train=[
]
]
AddTop5Eval=[
action=edit
CurModel=$ModelDir$/AlexNet
NewModel=$ModelDir$/AlexNet.Top5
editPath=$ConfigDir$/add_top5_layer.mel
]
Test=[
action=test
modelPath=$ModelDir$/AlexNet.Top5
# Set minibatch size for testing.
minibatchSize=16
NDLNetworkBuilder=[
networkDescription=$ConfigDir$/AlexNet.ndl
]
Test=[
reader=[
readerType=ImageReader
file=$ConfigDir$/val_map.txt

Просмотреть файл

@ -0,0 +1,64 @@
# Note: reader configuration comes from AlexNet.cntk or AlexNetComposite.cntk, depending on the test
ModelDir = "$RunDir$/models"
ndlMacros=$ConfigDir$/Macros.ndl
precision=float
deviceId=Auto
command=Train:AddTop5Eval:Test
parallelTrain=false
traceLevel=1
numMBsToShowResult=100
Train=[
action=train
modelPath=$ModelDir$/AlexNet
NDLNetworkBuilder=[
networkDescription=$ConfigDir$/AlexNet.ndl
]
SGD=[
epochSize=0
minibatchSize=16
learningRatesPerMB=0.01*20:0.003*12:0.001*28:0.0003
momentumPerMB=0.9
maxEpochs=3
gradUpdateType=None
L2RegWeight=0.0005
dropoutRate=0*5:0.5
ParallelTrain=[
parallelizationMethod=DataParallelSGD
distributedMBReading=true
parallelizationStartEpoch=1
DataParallelSGD=[
gradientBits=1
]
]
numMBsToShowResult=100
]
]
AddTop5Eval=[
action=edit
CurModel=$ModelDir$/AlexNet
NewModel=$ModelDir$/AlexNet.Top5
editPath=$ConfigDir$/add_top5_layer.mel
]
Test=[
action=test
modelPath=$ModelDir$/AlexNet.Top5
# Set minibatch size for testing.
minibatchSize=16
NDLNetworkBuilder=[
networkDescription=$ConfigDir$/AlexNet.ndl
]
]

Просмотреть файл

@ -0,0 +1,101 @@
Train=[
reader = [
verbosity=0
randomize=true
# Currently for image reader a single sequence is a chunk
# so setting randomization window to 1.
randomizationWindow=1
useLegacy=false
# A list of deserializers to use.
deserializers=[
[
type="ImageDataDeserializer"
module="ImageReader"
# Map file which maps images to labels using the following format:
# <full path to image><tab><numerical label (0-based class id)>
# Example:
# C:\Data\ImageNet\2012\train\n01440764\n01440764_10026.JPEG<tab>0
file=$ConfigDir$/train_map.txt
# Description of input streams
inputs=[
features=[
transforms=[
[
type="Crop"
# Possible values: Center, Random. Default: Center
cropType=Random
# Crop scale ratio. Examples: cropRatio=0.9, cropRatio=0.7:0.9. Default: 1.
cropRatio=0.875
# Crop scale ratio jitter type.
# Possible values: None, UniRatio, UniLength, UniArea. Default: UniRatio
jitterType=UniRatio
]:[
type="Scale"
width=224
height=224
channels=3
# Interpolation to use when scaling image to width x height size.
# Possible values: nearest, linear, cubic, lanczos. Default: linear.
interpolations=Linear
]:[
type="Mean"
# Stores mean values for each pixel in OpenCV matrix XML format.
meanFile=$ConfigDir$/ImageNet1K_mean.xml
]:[
type="Transpose"
]
]
]
labels=[
labelDim=1000
]
]
]
]
]
]
Test=[
reader=[
verbosity=0
randomize=false
# A list of deserializers to use.
deserializers=[
[
type="ImageDataDeserializer"
module="ImageReader"
file=$ConfigDir$/val_map.txt
# Description of input streams
inputs=[
features=[
transforms=[
[
type="Crop"
cropType=Center
]:[
type="Scale"
width=224
height=224
channels=3
]:[
type="Mean"
meanFile=$ConfigDir$/ImageNet1K_mean.xml
]:[
type="Transpose"
]
]
]
labels=[
labelDim=1000
]
]
]
]
]
]

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,853 @@
Copying test data to local directory
=== Running /home/philly/jenkins/workspace/CNTK-Test-Linux-W1/build/gpu/release/bin/cntk configFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/AlexNet.cntk currentDirectory=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/TestData RunDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu DataDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/TestData ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet OutputDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu DeviceId=0 timestamping=true
-------------------------------------------------------------------
Build info:
Built time: May 3 2016 17:56:15
Last modified date: Tue May 3 11:36:22 2016
Build type: release
Build target: GPU
With 1bit-SGD: no
Math lib: acml
CUDA_PATH: /usr/local/cuda-7.5
CUB_PATH: /usr/local/cub-1.4.1
CUDNN_PATH: /usr/local/cudnn-4.0
Build Branch: HEAD
Build SHA1: 571b092d60e131fd529081a5ed52af2dc815dc82
Built by philly on 18750d26eb32
Build Path: /home/philly/jenkins/workspace/CNTK-Build-Linux
-------------------------------------------------------------------
Changed current directory to /tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/TestData
05/03/2016 18:06:53: -------------------------------------------------------------------
05/03/2016 18:06:53: Build info:
05/03/2016 18:06:53: Built time: May 3 2016 17:56:15
05/03/2016 18:06:53: Last modified date: Tue May 3 11:36:22 2016
05/03/2016 18:06:53: Build type: release
05/03/2016 18:06:53: Build target: GPU
05/03/2016 18:06:53: With 1bit-SGD: no
05/03/2016 18:06:53: Math lib: acml
05/03/2016 18:06:53: CUDA_PATH: /usr/local/cuda-7.5
05/03/2016 18:06:53: CUB_PATH: /usr/local/cub-1.4.1
05/03/2016 18:06:53: CUDNN_PATH: /usr/local/cudnn-4.0
05/03/2016 18:06:53: Build Branch: HEAD
05/03/2016 18:06:53: Build SHA1: 571b092d60e131fd529081a5ed52af2dc815dc82
05/03/2016 18:06:53: Built by philly on 18750d26eb32
05/03/2016 18:06:53: Build Path: /home/philly/jenkins/workspace/CNTK-Build-Linux
05/03/2016 18:06:53: -------------------------------------------------------------------
05/03/2016 18:06:53: Running on localhost at 2016/05/03 18:06:53
05/03/2016 18:06:53: Command line:
/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/build/gpu/release/bin/cntk configFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/AlexNet.cntk currentDirectory=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/TestData RunDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu DataDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/TestData ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet OutputDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu DeviceId=0 timestamping=true
05/03/2016 18:06:53: >>>>>>>>>>>>>>>>>>>> RAW CONFIG (VARIABLES NOT RESOLVED) >>>>>>>>>>>>>>>>>>>>
05/03/2016 18:06:53: ModelDir = "$RunDir$/models"
ndlMacros=$ConfigDir$/Macros.ndl
precision=float
deviceId=Auto
command=Train:AddTop5Eval:Test
parallelTrain=false
traceLevel=1
numMBsToShowResult=100
Train=[
action=train
modelPath=$ModelDir$/AlexNet
NDLNetworkBuilder=[
networkDescription=$ConfigDir$/AlexNet.ndl
]
SGD=[
epochSize=0
minibatchSize=16
learningRatesPerMB=0.01*20:0.003*12:0.001*28:0.0003
momentumPerMB=0.9
maxEpochs=3
gradUpdateType=None
L2RegWeight=0.0005
dropoutRate=0*5:0.5
ParallelTrain=[
parallelizationMethod=DataParallelSGD
distributedMBReading=true
parallelizationStartEpoch=1
DataParallelSGD=[
gradientBits=1
]
]
numMBsToShowResult=100
]
reader=[
readerType=ImageReader
file=$ConfigDir$/train_map.txt
randomize=Auto
features=[
width=224
height=224
channels=3
cropType=Random
cropRatio=0.875
jitterType=UniRatio
interpolations=Linear
meanFile=$ConfigDir$/ImageNet1K_mean.xml
]
labels=[
labelDim=1000
]
]
]
AddTop5Eval=[
action=edit
CurModel=$ModelDir$/AlexNet
NewModel=$ModelDir$/AlexNet.Top5
editPath=$ConfigDir$/add_top5_layer.mel
]
Test=[
action=test
modelPath=$ModelDir$/AlexNet.Top5
minibatchSize=16
NDLNetworkBuilder=[
networkDescription=$ConfigDir$/AlexNet.ndl
]
reader=[
readerType=ImageReader
file=$ConfigDir$/val_map.txt
randomize=None
features=[
width=224
height=224
channels=3
cropType=Center
meanFile=$ConfigDir$/ImageNet1K_mean.xml
]
labels=[
labelDim=1000
]
]
]
currentDirectory=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/TestData
RunDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu
DataDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/TestData
ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet
OutputDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu
DeviceId=0
timestamping=true
05/03/2016 18:06:53: <<<<<<<<<<<<<<<<<<<< RAW CONFIG (VARIABLES NOT RESOLVED) <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:06:53: >>>>>>>>>>>>>>>>>>>> RAW CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
05/03/2016 18:06:53: ModelDir = "/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models"
ndlMacros=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/Macros.ndl
precision=float
deviceId=Auto
command=Train:AddTop5Eval:Test
parallelTrain=false
traceLevel=1
numMBsToShowResult=100
Train=[
action=train
modelPath=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models/AlexNet
NDLNetworkBuilder=[
networkDescription=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/AlexNet.ndl
]
SGD=[
epochSize=0
minibatchSize=16
learningRatesPerMB=0.01*20:0.003*12:0.001*28:0.0003
momentumPerMB=0.9
maxEpochs=3
gradUpdateType=None
L2RegWeight=0.0005
dropoutRate=0*5:0.5
ParallelTrain=[
parallelizationMethod=DataParallelSGD
distributedMBReading=true
parallelizationStartEpoch=1
DataParallelSGD=[
gradientBits=1
]
]
numMBsToShowResult=100
]
reader=[
readerType=ImageReader
file=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/train_map.txt
randomize=Auto
features=[
width=224
height=224
channels=3
cropType=Random
cropRatio=0.875
jitterType=UniRatio
interpolations=Linear
meanFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/ImageNet1K_mean.xml
]
labels=[
labelDim=1000
]
]
]
AddTop5Eval=[
action=edit
CurModel=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models/AlexNet
NewModel=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models/AlexNet.Top5
editPath=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/add_top5_layer.mel
]
Test=[
action=test
modelPath=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models/AlexNet.Top5
minibatchSize=16
NDLNetworkBuilder=[
networkDescription=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/AlexNet.ndl
]
reader=[
readerType=ImageReader
file=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/val_map.txt
randomize=None
features=[
width=224
height=224
channels=3
cropType=Center
meanFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/ImageNet1K_mean.xml
]
labels=[
labelDim=1000
]
]
]
currentDirectory=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/TestData
RunDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu
DataDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/TestData
ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet
OutputDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu
DeviceId=0
timestamping=true
05/03/2016 18:06:53: <<<<<<<<<<<<<<<<<<<< RAW CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:06:53: >>>>>>>>>>>>>>>>>>>> PROCESSED CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
configparameters: AlexNet.cntk:AddTop5Eval=[
action=edit
CurModel=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models/AlexNet
NewModel=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models/AlexNet.Top5
editPath=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/add_top5_layer.mel
]
configparameters: AlexNet.cntk:command=Train:AddTop5Eval:Test
configparameters: AlexNet.cntk:ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet
configparameters: AlexNet.cntk:currentDirectory=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/TestData
configparameters: AlexNet.cntk:DataDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/TestData
configparameters: AlexNet.cntk:deviceId=0
configparameters: AlexNet.cntk:ModelDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models
configparameters: AlexNet.cntk:ndlMacros=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/Macros.ndl
configparameters: AlexNet.cntk:numMBsToShowResult=100
configparameters: AlexNet.cntk:OutputDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu
configparameters: AlexNet.cntk:parallelTrain=false
configparameters: AlexNet.cntk:precision=float
configparameters: AlexNet.cntk:RunDir=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu
configparameters: AlexNet.cntk:Test=[
action=test
modelPath=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models/AlexNet.Top5
minibatchSize=16
NDLNetworkBuilder=[
networkDescription=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/AlexNet.ndl
]
reader=[
readerType=ImageReader
file=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/val_map.txt
randomize=None
features=[
width=224
height=224
channels=3
cropType=Center
meanFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/ImageNet1K_mean.xml
]
labels=[
labelDim=1000
]
]
]
configparameters: AlexNet.cntk:timestamping=true
configparameters: AlexNet.cntk:traceLevel=1
configparameters: AlexNet.cntk:Train=[
action=train
modelPath=/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models/AlexNet
NDLNetworkBuilder=[
networkDescription=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/AlexNet.ndl
]
SGD=[
epochSize=0
minibatchSize=16
learningRatesPerMB=0.01*20:0.003*12:0.001*28:0.0003
momentumPerMB=0.9
maxEpochs=3
gradUpdateType=None
L2RegWeight=0.0005
dropoutRate=0*5:0.5
ParallelTrain=[
parallelizationMethod=DataParallelSGD
distributedMBReading=true
parallelizationStartEpoch=1
DataParallelSGD=[
gradientBits=1
]
]
numMBsToShowResult=100
]
reader=[
readerType=ImageReader
file=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/train_map.txt
randomize=Auto
features=[
width=224
height=224
channels=3
cropType=Random
cropRatio=0.875
jitterType=UniRatio
interpolations=Linear
meanFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Image/AlexNet/ImageNet1K_mean.xml
]
labels=[
labelDim=1000
]
]
]
05/03/2016 18:06:53: <<<<<<<<<<<<<<<<<<<< PROCESSED CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:06:53: Commands: Train AddTop5Eval Test
05/03/2016 18:06:53: Precision = "float"
05/03/2016 18:06:53: CNTKModelPath: /tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models/AlexNet
05/03/2016 18:06:53: CNTKCommandTrainInfo: Train : 3
05/03/2016 18:06:53: CNTKCommandTrainInfo: CNTKNoMoreCommands_Total : 3
05/03/2016 18:06:53: ##############################################################################
05/03/2016 18:06:53: # #
05/03/2016 18:06:53: # Action "train" #
05/03/2016 18:06:53: # #
05/03/2016 18:06:53: ##############################################################################
05/03/2016 18:06:53: CNTKCommandTrainBegin: Train
NDLBuilder Using GPU 0
05/03/2016 18:06:53: Creating virgin network.
SetGaussianRandomValue (GPU): creating curand object with seed 1, sizeof(ElemType)==4
Post-processing network...
3 roots:
OutputNodes.z = Plus()
ce = CrossEntropyWithSoftmax()
err = ErrorPrediction()
Validating network. 48 nodes to process in pass 1.
Validating --> OutputNodes.W = LearnableParameter() : -> [1000 x 4096]
Validating --> h2.W = LearnableParameter() : -> [4096 x 4096]
Validating --> h1.W = LearnableParameter() : -> [4096 x 6 x 6 x 256]
Validating --> conv5.W = LearnableParameter() : -> [256 x 2304]
Validating --> conv4.W = LearnableParameter() : -> [256 x 3456]
Validating --> conv3.W = LearnableParameter() : -> [384 x 1728]
Validating --> conv2.W = LearnableParameter() : -> [192 x 1600]
Validating --> conv1.W = LearnableParameter() : -> [64 x 363]
Validating --> features = InputValue() : -> [224 x 224 x 3 x *]
Validating --> conv1.c = Convolution (conv1.W, features) : [64 x 363], [224 x 224 x 3 x *] -> [56 x 56 x 64 x *]
Validating --> conv1.b = LearnableParameter() : -> [1 x 1 x 64]
Validating --> conv1.z = Plus (conv1.c, conv1.b) : [56 x 56 x 64 x *], [1 x 1 x 64] -> [56 x 56 x 64 x *]
Validating --> conv1.y = RectifiedLinear (conv1.z) : [56 x 56 x 64 x *] -> [56 x 56 x 64 x *]
Validating --> pool1 = MaxPooling (conv1.y) : [56 x 56 x 64 x *] -> [27 x 27 x 64 x *]
Validating --> conv2.c = Convolution (conv2.W, pool1) : [192 x 1600], [27 x 27 x 64 x *] -> [27 x 27 x 192 x *]
Validating --> conv2.b = LearnableParameter() : -> [1 x 1 x 192]
Validating --> conv2.z = Plus (conv2.c, conv2.b) : [27 x 27 x 192 x *], [1 x 1 x 192] -> [27 x 27 x 192 x *]
Validating --> conv2.y = RectifiedLinear (conv2.z) : [27 x 27 x 192 x *] -> [27 x 27 x 192 x *]
Validating --> pool2 = MaxPooling (conv2.y) : [27 x 27 x 192 x *] -> [13 x 13 x 192 x *]
Validating --> conv3.c = Convolution (conv3.W, pool2) : [384 x 1728], [13 x 13 x 192 x *] -> [13 x 13 x 384 x *]
Validating --> conv3.b = LearnableParameter() : -> [1 x 1 x 384]
Validating --> conv3.z = Plus (conv3.c, conv3.b) : [13 x 13 x 384 x *], [1 x 1 x 384] -> [13 x 13 x 384 x *]
Validating --> conv3.y = RectifiedLinear (conv3.z) : [13 x 13 x 384 x *] -> [13 x 13 x 384 x *]
Validating --> conv4.c = Convolution (conv4.W, conv3.y) : [256 x 3456], [13 x 13 x 384 x *] -> [13 x 13 x 256 x *]
Validating --> conv4.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv4.z = Plus (conv4.c, conv4.b) : [13 x 13 x 256 x *], [1 x 1 x 256] -> [13 x 13 x 256 x *]
Validating --> conv4.y = RectifiedLinear (conv4.z) : [13 x 13 x 256 x *] -> [13 x 13 x 256 x *]
Validating --> conv5.c = Convolution (conv5.W, conv4.y) : [256 x 2304], [13 x 13 x 256 x *] -> [13 x 13 x 256 x *]
Validating --> conv5.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv5.z = Plus (conv5.c, conv5.b) : [13 x 13 x 256 x *], [1 x 1 x 256] -> [13 x 13 x 256 x *]
Validating --> conv5.y = RectifiedLinear (conv5.z) : [13 x 13 x 256 x *] -> [13 x 13 x 256 x *]
Validating --> pool3 = MaxPooling (conv5.y) : [13 x 13 x 256 x *] -> [6 x 6 x 256 x *]
Validating --> h1.t = Times (h1.W, pool3) : [4096 x 6 x 6 x 256], [6 x 6 x 256 x *] -> [4096 x *]
Validating --> h1.b = LearnableParameter() : -> [4096]
Validating --> h1.z = Plus (h1.t, h1.b) : [4096 x *], [4096] -> [4096 x *]
Validating --> h1.y = RectifiedLinear (h1.z) : [4096 x *] -> [4096 x *]
Validating --> h1_d = Dropout (h1.y) : [4096 x *] -> [4096 x *]
Validating --> h2.t = Times (h2.W, h1_d) : [4096 x 4096], [4096 x *] -> [4096 x *]
Validating --> h2.b = LearnableParameter() : -> [4096]
Validating --> h2.z = Plus (h2.t, h2.b) : [4096 x *], [4096] -> [4096 x *]
Validating --> h2.y = RectifiedLinear (h2.z) : [4096 x *] -> [4096 x *]
Validating --> h2_d = Dropout (h2.y) : [4096 x *] -> [4096 x *]
Validating --> OutputNodes.t = Times (OutputNodes.W, h2_d) : [1000 x 4096], [4096 x *] -> [1000 x *]
Validating --> OutputNodes.b = LearnableParameter() : -> [1000]
Validating --> OutputNodes.z = Plus (OutputNodes.t, OutputNodes.b) : [1000 x *], [1000] -> [1000 x *]
Validating --> labels = InputValue() : -> [1000 x *]
Validating --> ce = CrossEntropyWithSoftmax (labels, OutputNodes.z) : [1000 x *], [1000 x *] -> [1]
Validating --> err = ErrorPrediction (labels, OutputNodes.z) : [1000 x *], [1000 x *] -> [1]
Validating network. 30 nodes to process in pass 2.
Validating network, final pass.
Using cuDNN convolution engine for geometry: Input: 224 x 224 x 3, Output: 56 x 56 x 64, Kernel: 11 x 11 x 3, Map: 1 x 1 x 64, Stride: 4 x 4 x 3, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 56 x 56 x 64, Output: 27 x 27 x 64, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 27 x 27 x 64, Output: 27 x 27 x 192, Kernel: 5 x 5 x 64, Map: 1 x 1 x 192, Stride: 1 x 1 x 64, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 27 x 27 x 192, Output: 13 x 13 x 192, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 192, Output: 13 x 13 x 384, Kernel: 3 x 3 x 192, Map: 1 x 1 x 384, Stride: 1 x 1 x 192, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 384, Output: 13 x 13 x 256, Kernel: 3 x 3 x 384, Map: 1 x 1 x 256, Stride: 1 x 1 x 384, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 256, Output: 13 x 13 x 256, Kernel: 3 x 3 x 256, Map: 1 x 1 x 256, Stride: 1 x 1 x 256, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 256, Output: 6 x 6 x 256, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
18 out of 48 nodes do not share the minibatch layout with the input data.
Post-processing network complete.
05/03/2016 18:06:53: Created model with 48 nodes on GPU 0.
05/03/2016 18:06:53: Training criterion node(s):
05/03/2016 18:06:53: ce = CrossEntropyWithSoftmax
05/03/2016 18:06:53: Evaluation criterion node(s):
05/03/2016 18:06:53: err = ErrorPrediction
Allocating matrices for forward and/or backward propagation.
Memory Sharing Structure:
(nil): {[err Gradient[1]] [features Gradient[224 x 224 x 3 x *]] [labels Gradient[1000 x *]] }
0x1eb05c8: {[features Value[224 x 224 x 3 x *]] }
0x27d0c58: {[conv1.W Value[64 x 363]] }
0x27d1a38: {[conv1.b Value[1 x 1 x 64]] }
0x27d32a8: {[conv2.W Value[192 x 1600]] }
0x27d49b8: {[conv2.b Value[1 x 1 x 192]] }
0x27d5c88: {[conv3.W Value[384 x 1728]] }
0x27d7378: {[conv3.b Value[1 x 1 x 384]] }
0x27d8698: {[conv4.W Value[256 x 3456]] }
0x27d9798: {[OutputNodes.b Value[1000]] }
0x27d9b88: {[conv4.b Value[1 x 1 x 256]] }
0x27dadf8: {[conv5.W Value[256 x 2304]] }
0x27dbff8: {[conv5.b Value[1 x 1 x 256]] }
0x27dd778: {[h1.W Value[4096 x 6 x 6 x 256]] }
0x27de688: {[h1.b Value[4096]] }
0x2c0cab8: {[labels Value[1000 x *]] }
0x2ea6e78: {[h2.W Value[4096 x 4096]] }
0x2ea7c18: {[h2.b Value[4096]] }
0x2ea8838: {[OutputNodes.W Value[1000 x 4096]] }
0x7f47b2c352e8: {[conv1.c Gradient[56 x 56 x 64 x *]] [conv1.y Value[56 x 56 x 64 x *]] }
0x7f47b2c35448: {[conv1.W Gradient[64 x 363]] [conv1.z Value[56 x 56 x 64 x *]] }
0x7f47b2c35648: {[conv1.z Gradient[56 x 56 x 64 x *]] [pool1 Value[27 x 27 x 64 x *]] }
0x7f47b2c35948: {[conv1.c Value[56 x 56 x 64 x *]] }
0x7f47b2e95948: {[conv1.b Gradient[1 x 1 x 64]] [conv1.y Gradient[56 x 56 x 64 x *]] }
0x7f47b2e95b08: {[conv2.W Gradient[192 x 1600]] [conv2.z Value[27 x 27 x 192 x *]] }
0x7f47b2e95cc8: {[conv2.c Gradient[27 x 27 x 192 x *]] [conv2.y Value[27 x 27 x 192 x *]] }
0x7f47b2e95e88: {[conv2.z Gradient[27 x 27 x 192 x *]] [pool1 Gradient[27 x 27 x 64 x *]] [pool2 Value[13 x 13 x 192 x *]] }
0x7f47b2e96048: {[conv3.c Value[13 x 13 x 384 x *]] }
0x7f47b2e96208: {[conv2.b Gradient[1 x 1 x 192]] [conv2.y Gradient[27 x 27 x 192 x *]] }
0x7f47b2e963c8: {[conv3.W Gradient[384 x 1728]] [conv3.z Value[13 x 13 x 384 x *]] }
0x7f47b2e96588: {[conv3.c Gradient[13 x 13 x 384 x *]] [conv3.y Value[13 x 13 x 384 x *]] }
0x7f47b2e96748: {[conv4.c Value[13 x 13 x 256 x *]] }
0x7f47b2e96908: {[conv3.z Gradient[13 x 13 x 384 x *]] [pool2 Gradient[13 x 13 x 192 x *]] }
0x7f47b2e96ac8: {[conv4.W Gradient[256 x 3456]] [conv4.z Value[13 x 13 x 256 x *]] }
0x7f47b2e96c88: {[conv4.c Gradient[13 x 13 x 256 x *]] [conv4.y Value[13 x 13 x 256 x *]] }
0x7f47b2e96e48: {[conv5.c Value[13 x 13 x 256 x *]] }
0x7f47b2e97008: {[conv3.b Gradient[1 x 1 x 384]] [conv3.y Gradient[13 x 13 x 384 x *]] [conv4.z Gradient[13 x 13 x 256 x *]] }
0x7f47b2e971c8: {[conv5.W Gradient[256 x 2304]] [conv5.z Value[13 x 13 x 256 x *]] }
0x7f47b2e97388: {[conv5.c Gradient[13 x 13 x 256 x *]] [conv5.y Value[13 x 13 x 256 x *]] }
0x7f47b2e97548: {[conv4.b Gradient[1 x 1 x 256]] [conv4.y Gradient[13 x 13 x 256 x *]] [conv5.z Gradient[13 x 13 x 256 x *]] [pool3 Value[6 x 6 x 256 x *]] }
0x7f47b2e97708: {[conv5.b Gradient[1 x 1 x 256]] [conv5.y Gradient[13 x 13 x 256 x *]] [h1.t Value[4096 x *]] }
0x7f47b2e978c8: {[h1.W Gradient[4096 x 6 x 6 x 256]] [h1.z Value[4096 x *]] }
0x7f47b2e97a88: {[h1.t Gradient[4096 x *]] [h1.y Value[4096 x *]] }
0x7f47b2e97c48: {[h1_d Value[4096 x *]] }
0x7f47b2e97e08: {[h1.z Gradient[4096 x *]] [pool3 Gradient[6 x 6 x 256 x *]] }
0x7f47b2e97fc8: {[h1.b Gradient[4096]] [h1.y Gradient[4096 x *]] [h2.t Value[4096 x *]] }
0x7f47b2e98188: {[h2.W Gradient[4096 x 4096]] [h2.z Value[4096 x *]] }
0x7f47b2e98348: {[h2.t Gradient[4096 x *]] [h2.y Value[4096 x *]] }
0x7f47b2e98508: {[h2_d Value[4096 x *]] }
0x7f47b2e986c8: {[h1_d Gradient[4096 x *]] [h2.z Gradient[4096 x *]] }
0x7f47b2e98888: {[OutputNodes.t Value[1000 x *]] [h2.b Gradient[4096]] [h2.y Gradient[4096 x *]] }
0x7f47b2e99428: {[ce Gradient[1]] }
0x7f47b2e995e8: {[OutputNodes.W Gradient[1000 x 4096]] [OutputNodes.z Gradient[1000 x *]] }
0x7f47b2e997a8: {[OutputNodes.t Gradient[1000 x *]] }
0x7f47b2e99968: {[OutputNodes.b Gradient[1000]] }
0x7f47b2e99b28: {[h2_d Gradient[4096 x *]] }
0x7f47b2e9aa08: {[OutputNodes.z Value[1000 x *]] }
0x7f47b2e9abc8: {[ce Value[1]] }
0x7f47b2e9b2f8: {[conv2.c Value[27 x 27 x 192 x *]] }
0x7f47b2ef4ce8: {[err Value[1]] }
05/03/2016 18:06:53: No PreCompute nodes found, skipping PreCompute step.
05/03/2016 18:06:55: Starting Epoch 1: learning rate per sample = 0.000625 effective momentum = 0.900000 momentum as time constant = 151.9 samples
05/03/2016 18:06:55: Starting minibatch loop.
05/03/2016 18:07:02: Epoch[ 1 of 3]-Minibatch[ 1- 100]: ce = 7.41642395 * 1600; err = 1.00000000 * 1600; time = 7.0425s; samplesPerSecond = 227.2
05/03/2016 18:07:08: Finished Epoch[ 1 of 3]: [Training] ce = 7.22737918 * 2999; err = 0.99966656 * 2999; totalSamplesSeen = 2999; learningRatePerSample = 0.00062499999; epochTime=12.9259s
05/03/2016 18:07:10: SGD: Saving checkpoint model '/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models/AlexNet.1'
05/03/2016 18:07:13: Starting Epoch 2: learning rate per sample = 0.000625 effective momentum = 0.900000 momentum as time constant = 151.9 samples
05/03/2016 18:07:13: Starting minibatch loop.
05/03/2016 18:07:19: Epoch[ 2 of 3]-Minibatch[ 1- 100, 100.00%]: ce = 6.90983215 * 1600; err = 1.00000000 * 1600; time = 6.2320s; samplesPerSecond = 256.7
05/03/2016 18:07:25: Finished Epoch[ 2 of 3]: [Training] ce = 6.91963923 * 2999; err = 0.99866622 * 2999; totalSamplesSeen = 5998; learningRatePerSample = 0.00062499999; epochTime=12.2905s
05/03/2016 18:07:27: SGD: Saving checkpoint model '/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models/AlexNet.2'
05/03/2016 18:07:29: Starting Epoch 3: learning rate per sample = 0.000625 effective momentum = 0.900000 momentum as time constant = 151.9 samples
05/03/2016 18:07:29: Starting minibatch loop.
05/03/2016 18:07:36: Epoch[ 3 of 3]-Minibatch[ 1- 100, 100.00%]: ce = 6.87519836 * 1600; err = 0.99937500 * 1600; time = 6.4714s; samplesPerSecond = 247.2
05/03/2016 18:07:42: Finished Epoch[ 3 of 3]: [Training] ce = 6.88608052 * 2999; err = 0.99833278 * 2999; totalSamplesSeen = 8997; learningRatePerSample = 0.00062499999; epochTime=12.1425s
05/03/2016 18:07:44: SGD: Saving checkpoint model '/tmp/cntk-test-20160503180555.960884/Image_AlexNet@release_gpu/models/AlexNet'
05/03/2016 18:07:46: CNTKCommandTrainEnd: Train
05/03/2016 18:07:46: Action "train" complete.
05/03/2016 18:07:46: ##############################################################################
05/03/2016 18:07:46: # #
05/03/2016 18:07:46: # Action "edit" #
05/03/2016 18:07:46: # #
05/03/2016 18:07:46: ##############################################################################
Post-processing network...
3 roots:
OutputNodes.z = Plus()
ce = CrossEntropyWithSoftmax()
err = ErrorPrediction()
Validating network. 48 nodes to process in pass 1.
Validating --> OutputNodes.W = LearnableParameter() : -> [1000 x 4096]
Validating --> h2.W = LearnableParameter() : -> [4096 x 4096]
Validating --> h1.W = LearnableParameter() : -> [4096 x 6 x 6 x 256]
Validating --> conv5.W = LearnableParameter() : -> [256 x 2304]
Validating --> conv4.W = LearnableParameter() : -> [256 x 3456]
Validating --> conv3.W = LearnableParameter() : -> [384 x 1728]
Validating --> conv2.W = LearnableParameter() : -> [192 x 1600]
Validating --> conv1.W = LearnableParameter() : -> [64 x 363]
Validating --> features = InputValue() : -> [224 x 224 x 3 x *1]
Validating --> conv1.c = Convolution (conv1.W, features) : [64 x 363], [224 x 224 x 3 x *1] -> [56 x 56 x 64 x *1]
Validating --> conv1.b = LearnableParameter() : -> [1 x 1 x 64]
Validating --> conv1.z = Plus (conv1.c, conv1.b) : [56 x 56 x 64 x *1], [1 x 1 x 64] -> [56 x 56 x 64 x *1]
Validating --> conv1.y = RectifiedLinear (conv1.z) : [56 x 56 x 64 x *1] -> [56 x 56 x 64 x *1]
Validating --> pool1 = MaxPooling (conv1.y) : [56 x 56 x 64 x *1] -> [27 x 27 x 64 x *1]
Validating --> conv2.c = Convolution (conv2.W, pool1) : [192 x 1600], [27 x 27 x 64 x *1] -> [27 x 27 x 192 x *1]
Validating --> conv2.b = LearnableParameter() : -> [1 x 1 x 192]
Validating --> conv2.z = Plus (conv2.c, conv2.b) : [27 x 27 x 192 x *1], [1 x 1 x 192] -> [27 x 27 x 192 x *1]
Validating --> conv2.y = RectifiedLinear (conv2.z) : [27 x 27 x 192 x *1] -> [27 x 27 x 192 x *1]
Validating --> pool2 = MaxPooling (conv2.y) : [27 x 27 x 192 x *1] -> [13 x 13 x 192 x *1]
Validating --> conv3.c = Convolution (conv3.W, pool2) : [384 x 1728], [13 x 13 x 192 x *1] -> [13 x 13 x 384 x *1]
Validating --> conv3.b = LearnableParameter() : -> [1 x 1 x 384]
Validating --> conv3.z = Plus (conv3.c, conv3.b) : [13 x 13 x 384 x *1], [1 x 1 x 384] -> [13 x 13 x 384 x *1]
Validating --> conv3.y = RectifiedLinear (conv3.z) : [13 x 13 x 384 x *1] -> [13 x 13 x 384 x *1]
Validating --> conv4.c = Convolution (conv4.W, conv3.y) : [256 x 3456], [13 x 13 x 384 x *1] -> [13 x 13 x 256 x *1]
Validating --> conv4.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv4.z = Plus (conv4.c, conv4.b) : [13 x 13 x 256 x *1], [1 x 1 x 256] -> [13 x 13 x 256 x *1]
Validating --> conv4.y = RectifiedLinear (conv4.z) : [13 x 13 x 256 x *1] -> [13 x 13 x 256 x *1]
Validating --> conv5.c = Convolution (conv5.W, conv4.y) : [256 x 2304], [13 x 13 x 256 x *1] -> [13 x 13 x 256 x *1]
Validating --> conv5.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv5.z = Plus (conv5.c, conv5.b) : [13 x 13 x 256 x *1], [1 x 1 x 256] -> [13 x 13 x 256 x *1]
Validating --> conv5.y = RectifiedLinear (conv5.z) : [13 x 13 x 256 x *1] -> [13 x 13 x 256 x *1]
Validating --> pool3 = MaxPooling (conv5.y) : [13 x 13 x 256 x *1] -> [6 x 6 x 256 x *1]
Validating --> h1.t = Times (h1.W, pool3) : [4096 x 6 x 6 x 256], [6 x 6 x 256 x *1] -> [4096 x *1]
Validating --> h1.b = LearnableParameter() : -> [4096]
Validating --> h1.z = Plus (h1.t, h1.b) : [4096 x *1], [4096] -> [4096 x *1]
Validating --> h1.y = RectifiedLinear (h1.z) : [4096 x *1] -> [4096 x *1]
Validating --> h1_d = Dropout (h1.y) : [4096 x *1] -> [4096 x *1]
Validating --> h2.t = Times (h2.W, h1_d) : [4096 x 4096], [4096 x *1] -> [4096 x *1]
Validating --> h2.b = LearnableParameter() : -> [4096]
Validating --> h2.z = Plus (h2.t, h2.b) : [4096 x *1], [4096] -> [4096 x *1]
Validating --> h2.y = RectifiedLinear (h2.z) : [4096 x *1] -> [4096 x *1]
Validating --> h2_d = Dropout (h2.y) : [4096 x *1] -> [4096 x *1]
Validating --> OutputNodes.t = Times (OutputNodes.W, h2_d) : [1000 x 4096], [4096 x *1] -> [1000 x *1]
Validating --> OutputNodes.b = LearnableParameter() : -> [1000]
Validating --> OutputNodes.z = Plus (OutputNodes.t, OutputNodes.b) : [1000 x *1], [1000] -> [1000 x *1]
Validating --> labels = InputValue() : -> [1000 x *1]
Validating --> ce = CrossEntropyWithSoftmax (labels, OutputNodes.z) : [1000 x *1], [1000 x *1] -> [1]
Validating --> err = ErrorPrediction (labels, OutputNodes.z) : [1000 x *1], [1000 x *1] -> [1]
Validating network. 30 nodes to process in pass 2.
Validating network, final pass.
Using GEMM convolution engine for geometry: Input: 224 x 224 x 3, Output: 56 x 56 x 64, Kernel: 11 x 11 x 3, Map: 1 x 1 x 64, Stride: 4 x 4 x 3, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 56 x 56 x 64, Output: 27 x 27 x 64, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 27 x 27 x 64, Output: 27 x 27 x 192, Kernel: 5 x 5 x 64, Map: 1 x 1 x 192, Stride: 1 x 1 x 64, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 27 x 27 x 192, Output: 13 x 13 x 192, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 13 x 13 x 192, Output: 13 x 13 x 384, Kernel: 3 x 3 x 192, Map: 1 x 1 x 384, Stride: 1 x 1 x 192, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 13 x 13 x 384, Output: 13 x 13 x 256, Kernel: 3 x 3 x 384, Map: 1 x 1 x 256, Stride: 1 x 1 x 384, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 13 x 13 x 256, Output: 13 x 13 x 256, Kernel: 3 x 3 x 256, Map: 1 x 1 x 256, Stride: 1 x 1 x 256, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 13 x 13 x 256, Output: 6 x 6 x 256, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
18 out of 48 nodes do not share the minibatch layout with the input data.
Post-processing network complete.
Post-processing network...
4 roots:
OutputNodes.z = Plus()
ce = CrossEntropyWithSoftmax()
err = ErrorPrediction()
errTop5 = ErrorPrediction()
Validating network. 50 nodes to process in pass 1.
Validating --> OutputNodes.W = LearnableParameter() : -> [1000 x 4096]
Validating --> h2.W = LearnableParameter() : -> [4096 x 4096]
Validating --> h1.W = LearnableParameter() : -> [4096 x 6 x 6 x 256]
Validating --> conv5.W = LearnableParameter() : -> [256 x 2304]
Validating --> conv4.W = LearnableParameter() : -> [256 x 3456]
Validating --> conv3.W = LearnableParameter() : -> [384 x 1728]
Validating --> conv2.W = LearnableParameter() : -> [192 x 1600]
Validating --> conv1.W = LearnableParameter() : -> [64 x 363]
Validating --> features = InputValue() : -> [224 x 224 x 3 x *1]
Validating --> conv1.c = Convolution (conv1.W, features) : [64 x 363], [224 x 224 x 3 x *1] -> [56 x 56 x 64 x *1]
Validating --> conv1.b = LearnableParameter() : -> [1 x 1 x 64]
Validating --> conv1.z = Plus (conv1.c, conv1.b) : [56 x 56 x 64 x *1], [1 x 1 x 64] -> [56 x 56 x 64 x *1]
Validating --> conv1.y = RectifiedLinear (conv1.z) : [56 x 56 x 64 x *1] -> [56 x 56 x 64 x *1]
Validating --> pool1 = MaxPooling (conv1.y) : [56 x 56 x 64 x *1] -> [27 x 27 x 64 x *1]
Validating --> conv2.c = Convolution (conv2.W, pool1) : [192 x 1600], [27 x 27 x 64 x *1] -> [27 x 27 x 192 x *1]
Validating --> conv2.b = LearnableParameter() : -> [1 x 1 x 192]
Validating --> conv2.z = Plus (conv2.c, conv2.b) : [27 x 27 x 192 x *1], [1 x 1 x 192] -> [27 x 27 x 192 x *1]
Validating --> conv2.y = RectifiedLinear (conv2.z) : [27 x 27 x 192 x *1] -> [27 x 27 x 192 x *1]
Validating --> pool2 = MaxPooling (conv2.y) : [27 x 27 x 192 x *1] -> [13 x 13 x 192 x *1]
Validating --> conv3.c = Convolution (conv3.W, pool2) : [384 x 1728], [13 x 13 x 192 x *1] -> [13 x 13 x 384 x *1]
Validating --> conv3.b = LearnableParameter() : -> [1 x 1 x 384]
Validating --> conv3.z = Plus (conv3.c, conv3.b) : [13 x 13 x 384 x *1], [1 x 1 x 384] -> [13 x 13 x 384 x *1]
Validating --> conv3.y = RectifiedLinear (conv3.z) : [13 x 13 x 384 x *1] -> [13 x 13 x 384 x *1]
Validating --> conv4.c = Convolution (conv4.W, conv3.y) : [256 x 3456], [13 x 13 x 384 x *1] -> [13 x 13 x 256 x *1]
Validating --> conv4.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv4.z = Plus (conv4.c, conv4.b) : [13 x 13 x 256 x *1], [1 x 1 x 256] -> [13 x 13 x 256 x *1]
Validating --> conv4.y = RectifiedLinear (conv4.z) : [13 x 13 x 256 x *1] -> [13 x 13 x 256 x *1]
Validating --> conv5.c = Convolution (conv5.W, conv4.y) : [256 x 2304], [13 x 13 x 256 x *1] -> [13 x 13 x 256 x *1]
Validating --> conv5.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv5.z = Plus (conv5.c, conv5.b) : [13 x 13 x 256 x *1], [1 x 1 x 256] -> [13 x 13 x 256 x *1]
Validating --> conv5.y = RectifiedLinear (conv5.z) : [13 x 13 x 256 x *1] -> [13 x 13 x 256 x *1]
Validating --> pool3 = MaxPooling (conv5.y) : [13 x 13 x 256 x *1] -> [6 x 6 x 256 x *1]
Validating --> h1.t = Times (h1.W, pool3) : [4096 x 6 x 6 x 256], [6 x 6 x 256 x *1] -> [4096 x *1]
Validating --> h1.b = LearnableParameter() : -> [4096]
Validating --> h1.z = Plus (h1.t, h1.b) : [4096 x *1], [4096] -> [4096 x *1]
Validating --> h1.y = RectifiedLinear (h1.z) : [4096 x *1] -> [4096 x *1]
Validating --> h1_d = Dropout (h1.y) : [4096 x *1] -> [4096 x *1]
Validating --> h2.t = Times (h2.W, h1_d) : [4096 x 4096], [4096 x *1] -> [4096 x *1]
Validating --> h2.b = LearnableParameter() : -> [4096]
Validating --> h2.z = Plus (h2.t, h2.b) : [4096 x *1], [4096] -> [4096 x *1]
Validating --> h2.y = RectifiedLinear (h2.z) : [4096 x *1] -> [4096 x *1]
Validating --> h2_d = Dropout (h2.y) : [4096 x *1] -> [4096 x *1]
Validating --> OutputNodes.t = Times (OutputNodes.W, h2_d) : [1000 x 4096], [4096 x *1] -> [1000 x *1]
Validating --> OutputNodes.b = LearnableParameter() : -> [1000]
Validating --> OutputNodes.z = Plus (OutputNodes.t, OutputNodes.b) : [1000 x *1], [1000] -> [1000 x *1]
Validating --> labels = InputValue() : -> [1000 x *1]
Validating --> ce = CrossEntropyWithSoftmax (labels, OutputNodes.z) : [1000 x *1], [1000 x *1] -> [1]
Validating --> err = ErrorPrediction (labels, OutputNodes.z) : [1000 x *1], [1000 x *1] -> [1]
Validating --> unnamed137 = LearnableParameter() : -> [1 x 1]
Validating --> errTop5 = ErrorPrediction (labels, OutputNodes.z, unnamed137) : [1000 x *1], [1000 x *1], [1 x 1] -> [1]
Validating network. 31 nodes to process in pass 2.
Validating network, final pass.
20 out of 50 nodes do not share the minibatch layout with the input data.
Post-processing network complete.
05/03/2016 18:07:51: Action "edit" complete.
05/03/2016 18:07:51: ##############################################################################
05/03/2016 18:07:51: # #
05/03/2016 18:07:51: # Action "test" #
05/03/2016 18:07:51: # #
05/03/2016 18:07:51: ##############################################################################
Post-processing network...
4 roots:
OutputNodes.z = Plus()
ce = CrossEntropyWithSoftmax()
err = ErrorPrediction()
errTop5 = ErrorPrediction()
Validating network. 50 nodes to process in pass 1.
Validating --> OutputNodes.W = LearnableParameter() : -> [1000 x 4096]
Validating --> h2.W = LearnableParameter() : -> [4096 x 4096]
Validating --> h1.W = LearnableParameter() : -> [4096 x 6 x 6 x 256]
Validating --> conv5.W = LearnableParameter() : -> [256 x 2304]
Validating --> conv4.W = LearnableParameter() : -> [256 x 3456]
Validating --> conv3.W = LearnableParameter() : -> [384 x 1728]
Validating --> conv2.W = LearnableParameter() : -> [192 x 1600]
Validating --> conv1.W = LearnableParameter() : -> [64 x 363]
Validating --> features = InputValue() : -> [224 x 224 x 3 x *2]
Validating --> conv1.c = Convolution (conv1.W, features) : [64 x 363], [224 x 224 x 3 x *2] -> [56 x 56 x 64 x *2]
Validating --> conv1.b = LearnableParameter() : -> [1 x 1 x 64]
Validating --> conv1.z = Plus (conv1.c, conv1.b) : [56 x 56 x 64 x *2], [1 x 1 x 64] -> [56 x 56 x 64 x *2]
Validating --> conv1.y = RectifiedLinear (conv1.z) : [56 x 56 x 64 x *2] -> [56 x 56 x 64 x *2]
Validating --> pool1 = MaxPooling (conv1.y) : [56 x 56 x 64 x *2] -> [27 x 27 x 64 x *2]
Validating --> conv2.c = Convolution (conv2.W, pool1) : [192 x 1600], [27 x 27 x 64 x *2] -> [27 x 27 x 192 x *2]
Validating --> conv2.b = LearnableParameter() : -> [1 x 1 x 192]
Validating --> conv2.z = Plus (conv2.c, conv2.b) : [27 x 27 x 192 x *2], [1 x 1 x 192] -> [27 x 27 x 192 x *2]
Validating --> conv2.y = RectifiedLinear (conv2.z) : [27 x 27 x 192 x *2] -> [27 x 27 x 192 x *2]
Validating --> pool2 = MaxPooling (conv2.y) : [27 x 27 x 192 x *2] -> [13 x 13 x 192 x *2]
Validating --> conv3.c = Convolution (conv3.W, pool2) : [384 x 1728], [13 x 13 x 192 x *2] -> [13 x 13 x 384 x *2]
Validating --> conv3.b = LearnableParameter() : -> [1 x 1 x 384]
Validating --> conv3.z = Plus (conv3.c, conv3.b) : [13 x 13 x 384 x *2], [1 x 1 x 384] -> [13 x 13 x 384 x *2]
Validating --> conv3.y = RectifiedLinear (conv3.z) : [13 x 13 x 384 x *2] -> [13 x 13 x 384 x *2]
Validating --> conv4.c = Convolution (conv4.W, conv3.y) : [256 x 3456], [13 x 13 x 384 x *2] -> [13 x 13 x 256 x *2]
Validating --> conv4.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv4.z = Plus (conv4.c, conv4.b) : [13 x 13 x 256 x *2], [1 x 1 x 256] -> [13 x 13 x 256 x *2]
Validating --> conv4.y = RectifiedLinear (conv4.z) : [13 x 13 x 256 x *2] -> [13 x 13 x 256 x *2]
Validating --> conv5.c = Convolution (conv5.W, conv4.y) : [256 x 2304], [13 x 13 x 256 x *2] -> [13 x 13 x 256 x *2]
Validating --> conv5.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv5.z = Plus (conv5.c, conv5.b) : [13 x 13 x 256 x *2], [1 x 1 x 256] -> [13 x 13 x 256 x *2]
Validating --> conv5.y = RectifiedLinear (conv5.z) : [13 x 13 x 256 x *2] -> [13 x 13 x 256 x *2]
Validating --> pool3 = MaxPooling (conv5.y) : [13 x 13 x 256 x *2] -> [6 x 6 x 256 x *2]
Validating --> h1.t = Times (h1.W, pool3) : [4096 x 6 x 6 x 256], [6 x 6 x 256 x *2] -> [4096 x *2]
Validating --> h1.b = LearnableParameter() : -> [4096]
Validating --> h1.z = Plus (h1.t, h1.b) : [4096 x *2], [4096] -> [4096 x *2]
Validating --> h1.y = RectifiedLinear (h1.z) : [4096 x *2] -> [4096 x *2]
Validating --> h1_d = Dropout (h1.y) : [4096 x *2] -> [4096 x *2]
Validating --> h2.t = Times (h2.W, h1_d) : [4096 x 4096], [4096 x *2] -> [4096 x *2]
Validating --> h2.b = LearnableParameter() : -> [4096]
Validating --> h2.z = Plus (h2.t, h2.b) : [4096 x *2], [4096] -> [4096 x *2]
Validating --> h2.y = RectifiedLinear (h2.z) : [4096 x *2] -> [4096 x *2]
Validating --> h2_d = Dropout (h2.y) : [4096 x *2] -> [4096 x *2]
Validating --> OutputNodes.t = Times (OutputNodes.W, h2_d) : [1000 x 4096], [4096 x *2] -> [1000 x *2]
Validating --> OutputNodes.b = LearnableParameter() : -> [1000]
Validating --> OutputNodes.z = Plus (OutputNodes.t, OutputNodes.b) : [1000 x *2], [1000] -> [1000 x *2]
Validating --> labels = InputValue() : -> [1000 x *2]
Validating --> ce = CrossEntropyWithSoftmax (labels, OutputNodes.z) : [1000 x *2], [1000 x *2] -> [1]
Validating --> err = ErrorPrediction (labels, OutputNodes.z) : [1000 x *2], [1000 x *2] -> [1]
Validating --> unnamed137 = LearnableParameter() : -> [1 x 1]
Validating --> errTop5 = ErrorPrediction (labels, OutputNodes.z, unnamed137) : [1000 x *2], [1000 x *2], [1 x 1] -> [1]
Validating network. 31 nodes to process in pass 2.
Validating network, final pass.
Using cuDNN convolution engine for geometry: Input: 224 x 224 x 3, Output: 56 x 56 x 64, Kernel: 11 x 11 x 3, Map: 1 x 1 x 64, Stride: 4 x 4 x 3, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 56 x 56 x 64, Output: 27 x 27 x 64, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 27 x 27 x 64, Output: 27 x 27 x 192, Kernel: 5 x 5 x 64, Map: 1 x 1 x 192, Stride: 1 x 1 x 64, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 27 x 27 x 192, Output: 13 x 13 x 192, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 192, Output: 13 x 13 x 384, Kernel: 3 x 3 x 192, Map: 1 x 1 x 384, Stride: 1 x 1 x 192, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 384, Output: 13 x 13 x 256, Kernel: 3 x 3 x 384, Map: 1 x 1 x 256, Stride: 1 x 1 x 384, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 256, Output: 13 x 13 x 256, Kernel: 3 x 3 x 256, Map: 1 x 1 x 256, Stride: 1 x 1 x 256, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 256, Output: 6 x 6 x 256, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
20 out of 50 nodes do not share the minibatch layout with the input data.
Post-processing network complete.
evalNodeNames are not specified, using all the default evalnodes and training criterion nodes.
Allocating matrices for forward and/or backward propagation.
Memory Sharing Structure:
(nil): {[OutputNodes.W Gradient[1000 x 4096]] [OutputNodes.b Gradient[1000]] [OutputNodes.t Gradient[1000 x *2]] [OutputNodes.z Gradient[1000 x *2]] [ce Gradient[1]] [conv1.W Gradient[64 x 363]] [conv1.b Gradient[1 x 1 x 64]] [conv1.c Gradient[56 x 56 x 64 x *2]] [conv1.y Gradient[56 x 56 x 64 x *2]] [conv1.z Gradient[56 x 56 x 64 x *2]] [conv2.W Gradient[192 x 1600]] [conv2.b Gradient[1 x 1 x 192]] [conv2.c Gradient[27 x 27 x 192 x *2]] [conv2.y Gradient[27 x 27 x 192 x *2]] [conv2.z Gradient[27 x 27 x 192 x *2]] [conv3.W Gradient[384 x 1728]] [conv3.b Gradient[1 x 1 x 384]] [conv3.c Gradient[13 x 13 x 384 x *2]] [conv3.y Gradient[13 x 13 x 384 x *2]] [conv3.z Gradient[13 x 13 x 384 x *2]] [conv4.W Gradient[256 x 3456]] [conv4.b Gradient[1 x 1 x 256]] [conv4.c Gradient[13 x 13 x 256 x *2]] [conv4.y Gradient[13 x 13 x 256 x *2]] [conv4.z Gradient[13 x 13 x 256 x *2]] [conv5.W Gradient[256 x 2304]] [conv5.b Gradient[1 x 1 x 256]] [conv5.c Gradient[13 x 13 x 256 x *2]] [conv5.y Gradient[13 x 13 x 256 x *2]] [conv5.z Gradient[13 x 13 x 256 x *2]] [err Gradient[1]] [errTop5 Gradient[1]] [features Gradient[224 x 224 x 3 x *2]] [h1.W Gradient[4096 x 6 x 6 x 256]] [h1.b Gradient[4096]] [h1.t Gradient[4096 x *2]] [h1.y Gradient[4096 x *2]] [h1.z Gradient[4096 x *2]] [h1_d Gradient[4096 x *2]] [h2.W Gradient[4096 x 4096]] [h2.b Gradient[4096]] [h2.t Gradient[4096 x *2]] [h2.y Gradient[4096 x *2]] [h2.z Gradient[4096 x *2]] [h2_d Gradient[4096 x *2]] [labels Gradient[1000 x *2]] [pool1 Gradient[27 x 27 x 64 x *2]] [pool2 Gradient[13 x 13 x 192 x *2]] [pool3 Gradient[6 x 6 x 256 x *2]] [unnamed137 Gradient[1 x 1]] }
0x7f479db02088: {[conv1.b Value[1 x 1 x 64]] }
0x7f479db2c418: {[conv1.W Value[64 x 363]] }
0x7f479db2d7a8: {[conv2.W Value[192 x 1600]] }
0x7f479db2dae8: {[conv2.b Value[1 x 1 x 192]] }
0x7f479db2fdd8: {[conv3.W Value[384 x 1728]] }
0x7f479db30118: {[conv3.b Value[1 x 1 x 384]] }
0x7f479db30908: {[conv4.b Value[1 x 1 x 256]] }
0x7f479db33f08: {[conv4.W Value[256 x 3456]] }
0x7f479db35358: {[conv5.b Value[1 x 1 x 256]] }
0x7f479db36608: {[conv5.W Value[256 x 2304]] }
0x7f479db37d68: {[features Value[224 x 224 x 3 x *2]] }
0x7f479db38858: {[h1.W Value[4096 x 6 x 6 x 256]] }
0x7f479db38b98: {[h1.b Value[4096]] }
0x7f479db3aa98: {[h2.b Value[4096]] }
0x7f479db3b5d8: {[h2.W Value[4096 x 4096]] }
0x7f479db3ca98: {[labels Value[1000 x *2]] }
0x7f479db3de18: {[OutputNodes.b Value[1000]] }
0x7f479db3e628: {[OutputNodes.W Value[1000 x 4096]] }
0x7f479db40748: {[unnamed137 Value[1 x 1]] }
0x7f479db413e8: {[errTop5 Value[1]] }
0x7f479db42138: {[ce Value[1]] }
0x7f479db48378: {[err Value[1]] }
0x7f479db53e18: {[pool3 Value[6 x 6 x 256 x *2]] }
0x7f479db53fd8: {[h1.t Value[4096 x *2]] }
0x7f479db54198: {[h1.z Value[4096 x *2]] }
0x7f479db54358: {[h1.y Value[4096 x *2]] }
0x7f479db54518: {[h1_d Value[4096 x *2]] }
0x7f479db54898: {[h2.t Value[4096 x *2]] }
0x7f479db54a58: {[h2.z Value[4096 x *2]] }
0x7f479db54c18: {[h2.y Value[4096 x *2]] }
0x7f479db54dd8: {[h2_d Value[4096 x *2]] }
0x7f479db55158: {[OutputNodes.t Value[1000 x *2]] }
0x7f479db55318: {[OutputNodes.z Value[1000 x *2]] }
0x7f47a644f258: {[conv1.z Value[56 x 56 x 64 x *2]] }
0x7f47a644f558: {[conv1.c Value[56 x 56 x 64 x *2]] }
0x7f47a6450068: {[conv1.y Value[56 x 56 x 64 x *2]] }
0x7f47a64506b8: {[pool1 Value[27 x 27 x 64 x *2]] }
0x7f47a6450878: {[conv2.c Value[27 x 27 x 192 x *2]] }
0x7f47a6450bf8: {[conv2.z Value[27 x 27 x 192 x *2]] }
0x7f47a6450db8: {[conv2.y Value[27 x 27 x 192 x *2]] }
0x7f47a6450f78: {[pool2 Value[13 x 13 x 192 x *2]] }
0x7f47a6451138: {[conv3.c Value[13 x 13 x 384 x *2]] }
0x7f47a64514b8: {[conv3.z Value[13 x 13 x 384 x *2]] }
0x7f47a6451678: {[conv3.y Value[13 x 13 x 384 x *2]] }
0x7f47a6451838: {[conv4.c Value[13 x 13 x 256 x *2]] }
0x7f47a6451bb8: {[conv4.z Value[13 x 13 x 256 x *2]] }
0x7f47a6451d78: {[conv4.y Value[13 x 13 x 256 x *2]] }
0x7f47a6451f38: {[conv5.c Value[13 x 13 x 256 x *2]] }
0x7f47a64522b8: {[conv5.z Value[13 x 13 x 256 x *2]] }
0x7f47a6452478: {[conv5.y Value[13 x 13 x 256 x *2]] }
05/03/2016 18:07:55: Final Results: Minibatch[1-32]: err = 0.99800000 * 500; errTop5 = 0.99400000 * 500; ce = 6.96324823 * 500; perplexity = 1057.06156985
05/03/2016 18:07:55: Action "test" complete.
05/03/2016 18:07:55: __COMPLETED__

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,851 @@
Copying test data to local directory
=== Running /cygdrive/c/jenkins/workspace/CNTK-Test-Windows-W1/x64/release/cntk.exe configFile=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/AlexNet.cntk currentDirectory=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu\TestData RunDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu DataDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu\TestData ConfigDir=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet OutputDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu DeviceId=0 timestamping=true
-------------------------------------------------------------------
Build info:
Built time: May 3 2016 13:23:06
Last modified date: Mon Apr 18 00:00:12 2016
Build type: Release
Build target: GPU
With 1bit-SGD: no
CUDA_PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5
CUB_PATH: C:\src\cub-1.4.1
CUDNN_PATH: c:\NVIDIA\cudnn-4.0\cuda
Build Branch: HEAD
Build SHA1: af96f7cce6c3c78a4f1e9315e061291c79360e12
Built by svcphil on LIANA-09-w
Build Path: c:\jenkins\workspace\CNTK-Build-Windows\Source\CNTK\
-------------------------------------------------------------------
Changed current directory to C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu\TestData
05/03/2016 14:11:01: -------------------------------------------------------------------
05/03/2016 14:11:01: Build info:
05/03/2016 14:11:01: Built time: May 3 2016 13:23:06
05/03/2016 14:11:01: Last modified date: Mon Apr 18 00:00:12 2016
05/03/2016 14:11:01: Build type: Release
05/03/2016 14:11:01: Build target: GPU
05/03/2016 14:11:01: With 1bit-SGD: no
05/03/2016 14:11:01: CUDA_PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5
05/03/2016 14:11:01: CUB_PATH: C:\src\cub-1.4.1
05/03/2016 14:11:01: CUDNN_PATH: c:\NVIDIA\cudnn-4.0\cuda
05/03/2016 14:11:01: Build Branch: HEAD
05/03/2016 14:11:01: Build SHA1: af96f7cce6c3c78a4f1e9315e061291c79360e12
05/03/2016 14:11:01: Built by svcphil on LIANA-09-w
05/03/2016 14:11:01: Build Path: c:\jenkins\workspace\CNTK-Build-Windows\Source\CNTK\
05/03/2016 14:11:01: -------------------------------------------------------------------
05/03/2016 14:11:01: Running on DPHAIM-25 at 2016/05/03 14:11:01
05/03/2016 14:11:01: Command line:
C:\jenkins\workspace\CNTK-Test-Windows-W1\x64\release\cntk.exe configFile=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/AlexNet.cntk currentDirectory=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu\TestData RunDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu DataDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu\TestData ConfigDir=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet OutputDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu DeviceId=0 timestamping=true
05/03/2016 14:11:01: >>>>>>>>>>>>>>>>>>>> RAW CONFIG (VARIABLES NOT RESOLVED) >>>>>>>>>>>>>>>>>>>>
05/03/2016 14:11:01: ModelDir = "$RunDir$/models"
ndlMacros=$ConfigDir$/Macros.ndl
precision=float
deviceId=Auto
command=Train:AddTop5Eval:Test
parallelTrain=false
traceLevel=1
numMBsToShowResult=100
Train=[
action=train
modelPath=$ModelDir$/AlexNet
NDLNetworkBuilder=[
networkDescription=$ConfigDir$/AlexNet.ndl
]
SGD=[
epochSize=0
minibatchSize=16
learningRatesPerMB=0.01*20:0.003*12:0.001*28:0.0003
momentumPerMB=0.9
maxEpochs=3
gradUpdateType=None
L2RegWeight=0.0005
dropoutRate=0*5:0.5
ParallelTrain=[
parallelizationMethod=DataParallelSGD
distributedMBReading=true
parallelizationStartEpoch=1
DataParallelSGD=[
gradientBits=1
]
]
numMBsToShowResult=100
]
reader=[
readerType=ImageReader
file=$ConfigDir$/train_map.txt
randomize=Auto
features=[
width=224
height=224
channels=3
cropType=Random
cropRatio=0.875
jitterType=UniRatio
interpolations=Linear
meanFile=$ConfigDir$/ImageNet1K_mean.xml
]
labels=[
labelDim=1000
]
]
]
AddTop5Eval=[
action=edit
CurModel=$ModelDir$/AlexNet
NewModel=$ModelDir$/AlexNet.Top5
editPath=$ConfigDir$/add_top5_layer.mel
]
Test=[
action=test
modelPath=$ModelDir$/AlexNet.Top5
minibatchSize=16
NDLNetworkBuilder=[
networkDescription=$ConfigDir$/AlexNet.ndl
]
reader=[
readerType=ImageReader
file=$ConfigDir$/val_map.txt
randomize=None
features=[
width=224
height=224
channels=3
cropType=Center
meanFile=$ConfigDir$/ImageNet1K_mean.xml
]
labels=[
labelDim=1000
]
]
]
currentDirectory=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu\TestData
RunDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu
DataDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu\TestData
ConfigDir=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet
OutputDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu
DeviceId=0
timestamping=true
05/03/2016 14:11:01: <<<<<<<<<<<<<<<<<<<< RAW CONFIG (VARIABLES NOT RESOLVED) <<<<<<<<<<<<<<<<<<<<
05/03/2016 14:11:01: >>>>>>>>>>>>>>>>>>>> RAW CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
05/03/2016 14:11:01: ModelDir = "C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models"
ndlMacros=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/Macros.ndl
precision=float
deviceId=Auto
command=Train:AddTop5Eval:Test
parallelTrain=false
traceLevel=1
numMBsToShowResult=100
Train=[
action=train
modelPath=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models/AlexNet
NDLNetworkBuilder=[
networkDescription=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/AlexNet.ndl
]
SGD=[
epochSize=0
minibatchSize=16
learningRatesPerMB=0.01*20:0.003*12:0.001*28:0.0003
momentumPerMB=0.9
maxEpochs=3
gradUpdateType=None
L2RegWeight=0.0005
dropoutRate=0*5:0.5
ParallelTrain=[
parallelizationMethod=DataParallelSGD
distributedMBReading=true
parallelizationStartEpoch=1
DataParallelSGD=[
gradientBits=1
]
]
numMBsToShowResult=100
]
reader=[
readerType=ImageReader
file=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/train_map.txt
randomize=Auto
features=[
width=224
height=224
channels=3
cropType=Random
cropRatio=0.875
jitterType=UniRatio
interpolations=Linear
meanFile=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/ImageNet1K_mean.xml
]
labels=[
labelDim=1000
]
]
]
AddTop5Eval=[
action=edit
CurModel=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models/AlexNet
NewModel=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models/AlexNet.Top5
editPath=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/add_top5_layer.mel
]
Test=[
action=test
modelPath=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models/AlexNet.Top5
minibatchSize=16
NDLNetworkBuilder=[
networkDescription=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/AlexNet.ndl
]
reader=[
readerType=ImageReader
file=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/val_map.txt
randomize=None
features=[
width=224
height=224
channels=3
cropType=Center
meanFile=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/ImageNet1K_mean.xml
]
labels=[
labelDim=1000
]
]
]
currentDirectory=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu\TestData
RunDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu
DataDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu\TestData
ConfigDir=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet
OutputDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu
DeviceId=0
timestamping=true
05/03/2016 14:11:01: <<<<<<<<<<<<<<<<<<<< RAW CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
05/03/2016 14:11:01: >>>>>>>>>>>>>>>>>>>> PROCESSED CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
configparameters: AlexNet.cntk:AddTop5Eval=[
action=edit
CurModel=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models/AlexNet
NewModel=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models/AlexNet.Top5
editPath=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/add_top5_layer.mel
]
configparameters: AlexNet.cntk:command=Train:AddTop5Eval:Test
configparameters: AlexNet.cntk:ConfigDir=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet
configparameters: AlexNet.cntk:currentDirectory=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu\TestData
configparameters: AlexNet.cntk:DataDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu\TestData
configparameters: AlexNet.cntk:deviceId=0
configparameters: AlexNet.cntk:ModelDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models
configparameters: AlexNet.cntk:ndlMacros=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/Macros.ndl
configparameters: AlexNet.cntk:numMBsToShowResult=100
configparameters: AlexNet.cntk:OutputDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu
configparameters: AlexNet.cntk:parallelTrain=false
configparameters: AlexNet.cntk:precision=float
configparameters: AlexNet.cntk:RunDir=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu
configparameters: AlexNet.cntk:Test=[
action=test
modelPath=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models/AlexNet.Top5
minibatchSize=16
NDLNetworkBuilder=[
networkDescription=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/AlexNet.ndl
]
reader=[
readerType=ImageReader
file=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/val_map.txt
randomize=None
features=[
width=224
height=224
channels=3
cropType=Center
meanFile=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/ImageNet1K_mean.xml
]
labels=[
labelDim=1000
]
]
]
configparameters: AlexNet.cntk:timestamping=true
configparameters: AlexNet.cntk:traceLevel=1
configparameters: AlexNet.cntk:Train=[
action=train
modelPath=C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models/AlexNet
NDLNetworkBuilder=[
networkDescription=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/AlexNet.ndl
]
SGD=[
epochSize=0
minibatchSize=16
learningRatesPerMB=0.01*20:0.003*12:0.001*28:0.0003
momentumPerMB=0.9
maxEpochs=3
gradUpdateType=None
L2RegWeight=0.0005
dropoutRate=0*5:0.5
ParallelTrain=[
parallelizationMethod=DataParallelSGD
distributedMBReading=true
parallelizationStartEpoch=1
DataParallelSGD=[
gradientBits=1
]
]
numMBsToShowResult=100
]
reader=[
readerType=ImageReader
file=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/train_map.txt
randomize=Auto
features=[
width=224
height=224
channels=3
cropType=Random
cropRatio=0.875
jitterType=UniRatio
interpolations=Linear
meanFile=C:\jenkins\workspace\CNTK-Test-Windows-W1\Tests\EndToEndTests\Image\AlexNet/ImageNet1K_mean.xml
]
labels=[
labelDim=1000
]
]
]
05/03/2016 14:11:01: <<<<<<<<<<<<<<<<<<<< PROCESSED CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
05/03/2016 14:11:01: Commands: Train AddTop5Eval Test
05/03/2016 14:11:01: Precision = "float"
05/03/2016 14:11:01: CNTKModelPath: C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models/AlexNet
05/03/2016 14:11:01: CNTKCommandTrainInfo: Train : 3
05/03/2016 14:11:01: CNTKCommandTrainInfo: CNTKNoMoreCommands_Total : 3
05/03/2016 14:11:01: ##############################################################################
05/03/2016 14:11:01: # #
05/03/2016 14:11:01: # Action "train" #
05/03/2016 14:11:01: # #
05/03/2016 14:11:01: ##############################################################################
05/03/2016 14:11:01: CNTKCommandTrainBegin: Train
NDLBuilder Using GPU 0
05/03/2016 14:11:01: Creating virgin network.
Microsoft::MSR::CNTK::GPUMatrix<ElemType>::SetGaussianRandomValue (GPU): creating curand object with seed 1, sizeof(ElemType)==4
Post-processing network...
3 roots:
OutputNodes.z = Plus()
ce = CrossEntropyWithSoftmax()
err = ErrorPrediction()
Validating network. 48 nodes to process in pass 1.
Validating --> OutputNodes.W = LearnableParameter() : -> [1000 x 4096]
Validating --> h2.W = LearnableParameter() : -> [4096 x 4096]
Validating --> h1.W = LearnableParameter() : -> [4096 x 6 x 6 x 256]
Validating --> conv5.W = LearnableParameter() : -> [256 x 2304]
Validating --> conv4.W = LearnableParameter() : -> [256 x 3456]
Validating --> conv3.W = LearnableParameter() : -> [384 x 1728]
Validating --> conv2.W = LearnableParameter() : -> [192 x 1600]
Validating --> conv1.W = LearnableParameter() : -> [64 x 363]
Validating --> features = InputValue() : -> [224 x 224 x 3 x *]
Validating --> conv1.c = Convolution (conv1.W, features) : [64 x 363], [224 x 224 x 3 x *] -> [56 x 56 x 64 x *]
Validating --> conv1.b = LearnableParameter() : -> [1 x 1 x 64]
Validating --> conv1.z = Plus (conv1.c, conv1.b) : [56 x 56 x 64 x *], [1 x 1 x 64] -> [56 x 56 x 64 x *]
Validating --> conv1.y = RectifiedLinear (conv1.z) : [56 x 56 x 64 x *] -> [56 x 56 x 64 x *]
Validating --> pool1 = MaxPooling (conv1.y) : [56 x 56 x 64 x *] -> [27 x 27 x 64 x *]
Validating --> conv2.c = Convolution (conv2.W, pool1) : [192 x 1600], [27 x 27 x 64 x *] -> [27 x 27 x 192 x *]
Validating --> conv2.b = LearnableParameter() : -> [1 x 1 x 192]
Validating --> conv2.z = Plus (conv2.c, conv2.b) : [27 x 27 x 192 x *], [1 x 1 x 192] -> [27 x 27 x 192 x *]
Validating --> conv2.y = RectifiedLinear (conv2.z) : [27 x 27 x 192 x *] -> [27 x 27 x 192 x *]
Validating --> pool2 = MaxPooling (conv2.y) : [27 x 27 x 192 x *] -> [13 x 13 x 192 x *]
Validating --> conv3.c = Convolution (conv3.W, pool2) : [384 x 1728], [13 x 13 x 192 x *] -> [13 x 13 x 384 x *]
Validating --> conv3.b = LearnableParameter() : -> [1 x 1 x 384]
Validating --> conv3.z = Plus (conv3.c, conv3.b) : [13 x 13 x 384 x *], [1 x 1 x 384] -> [13 x 13 x 384 x *]
Validating --> conv3.y = RectifiedLinear (conv3.z) : [13 x 13 x 384 x *] -> [13 x 13 x 384 x *]
Validating --> conv4.c = Convolution (conv4.W, conv3.y) : [256 x 3456], [13 x 13 x 384 x *] -> [13 x 13 x 256 x *]
Validating --> conv4.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv4.z = Plus (conv4.c, conv4.b) : [13 x 13 x 256 x *], [1 x 1 x 256] -> [13 x 13 x 256 x *]
Validating --> conv4.y = RectifiedLinear (conv4.z) : [13 x 13 x 256 x *] -> [13 x 13 x 256 x *]
Validating --> conv5.c = Convolution (conv5.W, conv4.y) : [256 x 2304], [13 x 13 x 256 x *] -> [13 x 13 x 256 x *]
Validating --> conv5.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv5.z = Plus (conv5.c, conv5.b) : [13 x 13 x 256 x *], [1 x 1 x 256] -> [13 x 13 x 256 x *]
Validating --> conv5.y = RectifiedLinear (conv5.z) : [13 x 13 x 256 x *] -> [13 x 13 x 256 x *]
Validating --> pool3 = MaxPooling (conv5.y) : [13 x 13 x 256 x *] -> [6 x 6 x 256 x *]
Validating --> h1.t = Times (h1.W, pool3) : [4096 x 6 x 6 x 256], [6 x 6 x 256 x *] -> [4096 x *]
Validating --> h1.b = LearnableParameter() : -> [4096]
Validating --> h1.z = Plus (h1.t, h1.b) : [4096 x *], [4096] -> [4096 x *]
Validating --> h1.y = RectifiedLinear (h1.z) : [4096 x *] -> [4096 x *]
Validating --> h1_d = Dropout (h1.y) : [4096 x *] -> [4096 x *]
Validating --> h2.t = Times (h2.W, h1_d) : [4096 x 4096], [4096 x *] -> [4096 x *]
Validating --> h2.b = LearnableParameter() : -> [4096]
Validating --> h2.z = Plus (h2.t, h2.b) : [4096 x *], [4096] -> [4096 x *]
Validating --> h2.y = RectifiedLinear (h2.z) : [4096 x *] -> [4096 x *]
Validating --> h2_d = Dropout (h2.y) : [4096 x *] -> [4096 x *]
Validating --> OutputNodes.t = Times (OutputNodes.W, h2_d) : [1000 x 4096], [4096 x *] -> [1000 x *]
Validating --> OutputNodes.b = LearnableParameter() : -> [1000]
Validating --> OutputNodes.z = Plus (OutputNodes.t, OutputNodes.b) : [1000 x *], [1000] -> [1000 x *]
Validating --> labels = InputValue() : -> [1000 x *]
Validating --> ce = CrossEntropyWithSoftmax (labels, OutputNodes.z) : [1000 x *], [1000 x *] -> [1]
Validating --> err = ErrorPrediction (labels, OutputNodes.z) : [1000 x *], [1000 x *] -> [1]
Validating network. 30 nodes to process in pass 2.
Validating network, final pass.
Using cuDNN convolution engine for geometry: Input: 224 x 224 x 3, Output: 56 x 56 x 64, Kernel: 11 x 11 x 3, Map: 1 x 1 x 64, Stride: 4 x 4 x 3, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 56 x 56 x 64, Output: 27 x 27 x 64, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 27 x 27 x 64, Output: 27 x 27 x 192, Kernel: 5 x 5 x 64, Map: 1 x 1 x 192, Stride: 1 x 1 x 64, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 27 x 27 x 192, Output: 13 x 13 x 192, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 192, Output: 13 x 13 x 384, Kernel: 3 x 3 x 192, Map: 1 x 1 x 384, Stride: 1 x 1 x 192, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 384, Output: 13 x 13 x 256, Kernel: 3 x 3 x 384, Map: 1 x 1 x 256, Stride: 1 x 1 x 384, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 256, Output: 13 x 13 x 256, Kernel: 3 x 3 x 256, Map: 1 x 1 x 256, Stride: 1 x 1 x 256, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 256, Output: 6 x 6 x 256, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
18 out of 48 nodes do not share the minibatch layout with the input data.
Post-processing network complete.
05/03/2016 14:11:02: Created model with 48 nodes on GPU 0.
05/03/2016 14:11:02: Training criterion node(s):
05/03/2016 14:11:02: ce = CrossEntropyWithSoftmax
05/03/2016 14:11:02: Evaluation criterion node(s):
05/03/2016 14:11:02: err = ErrorPrediction
Allocating matrices for forward and/or backward propagation.
Memory Sharing Structure:
0000000000000000: {[err Gradient[1]] [features Gradient[224 x 224 x 3 x *]] [labels Gradient[1000 x *]] }
000000E290039200: {[conv2.W Value[192 x 1600]] }
000000E290039340: {[conv1.W Value[64 x 363]] }
000000E290039480: {[conv1.b Value[1 x 1 x 64]] }
000000E290039520: {[conv2.b Value[1 x 1 x 192]] }
000000E29003A060: {[features Value[224 x 224 x 3 x *]] }
000000E29003A240: {[labels Value[1000 x *]] }
000000E2A80AE1D0: {[OutputNodes.b Value[1000]] }
000000E2A80AE270: {[conv3.W Value[384 x 1728]] }
000000E2A80AE310: {[h1.W Value[4096 x 6 x 6 x 256]] }
000000E2A80AE950: {[conv5.b Value[1 x 1 x 256]] }
000000E2A80AEC70: {[h1.b Value[4096]] }
000000E2A80AF350: {[h2.W Value[4096 x 4096]] }
000000E2A80AF530: {[conv3.b Value[1 x 1 x 384]] }
000000E2A80AF710: {[conv4.b Value[1 x 1 x 256]] }
000000E2A80AFA30: {[h2.b Value[4096]] }
000000E2A80AFDF0: {[conv5.W Value[256 x 2304]] }
000000E2A80AFE90: {[conv4.W Value[256 x 3456]] }
000000E2A80AFF30: {[OutputNodes.W Value[1000 x 4096]] }
000000E2AE0BA220: {[conv4.c Value[13 x 13 x 256 x *]] }
000000E2AE0BA2C0: {[h2.W Gradient[4096 x 4096]] [h2.z Value[4096 x *]] }
000000E2AE0BA360: {[conv5.c Gradient[13 x 13 x 256 x *]] [conv5.y Value[13 x 13 x 256 x *]] }
000000E2AE0BA400: {[OutputNodes.t Value[1000 x *]] [h2.b Gradient[4096]] [h2.y Gradient[4096 x *]] }
000000E2AE0BA720: {[err Value[1]] }
000000E2AE0BA7C0: {[conv3.b Gradient[1 x 1 x 384]] [conv3.y Gradient[13 x 13 x 384 x *]] [conv4.z Gradient[13 x 13 x 256 x *]] }
000000E2AE0BA860: {[conv1.c Gradient[56 x 56 x 64 x *]] [conv1.y Value[56 x 56 x 64 x *]] }
000000E2AE0BA900: {[conv1.b Gradient[1 x 1 x 64]] [conv1.y Gradient[56 x 56 x 64 x *]] }
000000E2AE0BA9A0: {[conv1.z Gradient[56 x 56 x 64 x *]] [pool1 Value[27 x 27 x 64 x *]] }
000000E2AE0BAA40: {[conv3.z Gradient[13 x 13 x 384 x *]] [pool2 Gradient[13 x 13 x 192 x *]] }
000000E2AE0BAAE0: {[conv5.W Gradient[256 x 2304]] [conv5.z Value[13 x 13 x 256 x *]] }
000000E2AE0BAB80: {[h1_d Value[4096 x *]] }
000000E2AE0BACC0: {[conv3.c Gradient[13 x 13 x 384 x *]] [conv3.y Value[13 x 13 x 384 x *]] }
000000E2AE0BAE00: {[conv3.c Value[13 x 13 x 384 x *]] }
000000E2AE0BAEA0: {[conv4.W Gradient[256 x 3456]] [conv4.z Value[13 x 13 x 256 x *]] }
000000E2AE0BAFE0: {[h2_d Value[4096 x *]] }
000000E2AE0BB080: {[conv4.c Gradient[13 x 13 x 256 x *]] [conv4.y Value[13 x 13 x 256 x *]] }
000000E2AE0BB120: {[h1.W Gradient[4096 x 6 x 6 x 256]] [h1.z Value[4096 x *]] }
000000E2AE0BB1C0: {[ce Gradient[1]] }
000000E2AE0BB260: {[OutputNodes.b Gradient[1000]] }
000000E2AE0BB3A0: {[conv2.W Gradient[192 x 1600]] [conv2.z Value[27 x 27 x 192 x *]] }
000000E2AE0BB4E0: {[conv1.W Gradient[64 x 363]] [conv1.z Value[56 x 56 x 64 x *]] }
000000E2AE0BB800: {[conv2.b Gradient[1 x 1 x 192]] [conv2.y Gradient[27 x 27 x 192 x *]] }
000000E2AE0BB940: {[h1.z Gradient[4096 x *]] [pool3 Gradient[6 x 6 x 256 x *]] }
000000E2AE0BB9E0: {[h1.b Gradient[4096]] [h1.y Gradient[4096 x *]] [h2.t Value[4096 x *]] }
000000E2AE0BBB20: {[OutputNodes.t Gradient[1000 x *]] }
000000E2AE0BBBC0: {[conv4.b Gradient[1 x 1 x 256]] [conv4.y Gradient[13 x 13 x 256 x *]] [conv5.z Gradient[13 x 13 x 256 x *]] [pool3 Value[6 x 6 x 256 x *]] }
000000E2AE0BBD00: {[ce Value[1]] }
000000E2AE0BBDA0: {[conv2.c Value[27 x 27 x 192 x *]] }
000000E2AE0BBE40: {[conv1.c Value[56 x 56 x 64 x *]] }
000000E2AE0BBF80: {[conv2.c Gradient[27 x 27 x 192 x *]] [conv2.y Value[27 x 27 x 192 x *]] }
000000E2AE0BC020: {[h2.t Gradient[4096 x *]] [h2.y Value[4096 x *]] }
000000E2AE0BC160: {[conv5.c Value[13 x 13 x 256 x *]] }
000000E2AE0BC200: {[conv2.z Gradient[27 x 27 x 192 x *]] [pool1 Gradient[27 x 27 x 64 x *]] [pool2 Value[13 x 13 x 192 x *]] }
000000E2AE0BC2A0: {[OutputNodes.z Value[1000 x *]] }
000000E2AE0BC340: {[h1_d Gradient[4096 x *]] [h2.z Gradient[4096 x *]] }
000000E2AE0BC480: {[OutputNodes.W Gradient[1000 x 4096]] [OutputNodes.z Gradient[1000 x *]] }
000000E2AE0BC520: {[h2_d Gradient[4096 x *]] }
000000E2AE0BC840: {[conv3.W Gradient[384 x 1728]] [conv3.z Value[13 x 13 x 384 x *]] }
000000E2AE0BC8E0: {[conv5.b Gradient[1 x 1 x 256]] [conv5.y Gradient[13 x 13 x 256 x *]] [h1.t Value[4096 x *]] }
000000E2AE0BC980: {[h1.t Gradient[4096 x *]] [h1.y Value[4096 x *]] }
05/03/2016 14:11:02: No PreCompute nodes found, skipping PreCompute step.
05/03/2016 14:11:05: Starting Epoch 1: learning rate per sample = 0.000625 effective momentum = 0.900000 momentum as time constant = 151.9 samples
05/03/2016 14:11:05: Starting minibatch loop.
05/03/2016 14:11:14: Epoch[ 1 of 3]-Minibatch[ 1- 100]: ce = 7.43287354 * 1600; err = 0.99937500 * 1600; time = 8.8275s; samplesPerSecond = 181.3
05/03/2016 14:11:20: Finished Epoch[ 1 of 3]: [Training] ce = 7.24222462 * 2999; err = 0.99933311 * 2999; totalSamplesSeen = 2999; learningRatePerSample = 0.00062499999; epochTime=14.8733s
05/03/2016 14:11:24: SGD: Saving checkpoint model 'C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models/AlexNet.1'
05/03/2016 14:11:27: Starting Epoch 2: learning rate per sample = 0.000625 effective momentum = 0.900000 momentum as time constant = 151.9 samples
05/03/2016 14:11:27: Starting minibatch loop.
05/03/2016 14:11:34: Epoch[ 2 of 3]-Minibatch[ 1- 100, 100.00%]: ce = 6.90465576 * 1600; err = 0.99937500 * 1600; time = 6.9523s; samplesPerSecond = 230.1
05/03/2016 14:11:40: Finished Epoch[ 2 of 3]: [Training] ce = 6.91868774 * 2999; err = 0.99899967 * 2999; totalSamplesSeen = 5998; learningRatePerSample = 0.00062499999; epochTime=12.9929s
05/03/2016 14:11:43: SGD: Saving checkpoint model 'C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models/AlexNet.2'
05/03/2016 14:11:46: Starting Epoch 3: learning rate per sample = 0.000625 effective momentum = 0.900000 momentum as time constant = 151.9 samples
05/03/2016 14:11:46: Starting minibatch loop.
05/03/2016 14:11:53: Epoch[ 3 of 3]-Minibatch[ 1- 100, 100.00%]: ce = 6.87353699 * 1600; err = 0.99750000 * 1600; time = 7.0845s; samplesPerSecond = 225.8
05/03/2016 14:11:59: Finished Epoch[ 3 of 3]: [Training] ce = 6.88654161 * 2999; err = 0.99799933 * 2999; totalSamplesSeen = 8997; learningRatePerSample = 0.00062499999; epochTime=13.0423s
05/03/2016 14:12:03: SGD: Saving checkpoint model 'C:\Users\svcphil\AppData\Local\Temp\cntk-test-20160503141032.133212\Image_AlexNet@release_gpu/models/AlexNet'
05/03/2016 14:12:06: CNTKCommandTrainEnd: Train
05/03/2016 14:12:06: Action "train" complete.
05/03/2016 14:12:06: ##############################################################################
05/03/2016 14:12:06: # #
05/03/2016 14:12:06: # Action "edit" #
05/03/2016 14:12:06: # #
05/03/2016 14:12:06: ##############################################################################
Post-processing network...
3 roots:
OutputNodes.z = Plus()
ce = CrossEntropyWithSoftmax()
err = ErrorPrediction()
Validating network. 48 nodes to process in pass 1.
Validating --> OutputNodes.W = LearnableParameter() : -> [1000 x 4096]
Validating --> h2.W = LearnableParameter() : -> [4096 x 4096]
Validating --> h1.W = LearnableParameter() : -> [4096 x 6 x 6 x 256]
Validating --> conv5.W = LearnableParameter() : -> [256 x 2304]
Validating --> conv4.W = LearnableParameter() : -> [256 x 3456]
Validating --> conv3.W = LearnableParameter() : -> [384 x 1728]
Validating --> conv2.W = LearnableParameter() : -> [192 x 1600]
Validating --> conv1.W = LearnableParameter() : -> [64 x 363]
Validating --> features = InputValue() : -> [224 x 224 x 3 x *1]
Validating --> conv1.c = Convolution (conv1.W, features) : [64 x 363], [224 x 224 x 3 x *1] -> [56 x 56 x 64 x *1]
Validating --> conv1.b = LearnableParameter() : -> [1 x 1 x 64]
Validating --> conv1.z = Plus (conv1.c, conv1.b) : [56 x 56 x 64 x *1], [1 x 1 x 64] -> [56 x 56 x 64 x *1]
Validating --> conv1.y = RectifiedLinear (conv1.z) : [56 x 56 x 64 x *1] -> [56 x 56 x 64 x *1]
Validating --> pool1 = MaxPooling (conv1.y) : [56 x 56 x 64 x *1] -> [27 x 27 x 64 x *1]
Validating --> conv2.c = Convolution (conv2.W, pool1) : [192 x 1600], [27 x 27 x 64 x *1] -> [27 x 27 x 192 x *1]
Validating --> conv2.b = LearnableParameter() : -> [1 x 1 x 192]
Validating --> conv2.z = Plus (conv2.c, conv2.b) : [27 x 27 x 192 x *1], [1 x 1 x 192] -> [27 x 27 x 192 x *1]
Validating --> conv2.y = RectifiedLinear (conv2.z) : [27 x 27 x 192 x *1] -> [27 x 27 x 192 x *1]
Validating --> pool2 = MaxPooling (conv2.y) : [27 x 27 x 192 x *1] -> [13 x 13 x 192 x *1]
Validating --> conv3.c = Convolution (conv3.W, pool2) : [384 x 1728], [13 x 13 x 192 x *1] -> [13 x 13 x 384 x *1]
Validating --> conv3.b = LearnableParameter() : -> [1 x 1 x 384]
Validating --> conv3.z = Plus (conv3.c, conv3.b) : [13 x 13 x 384 x *1], [1 x 1 x 384] -> [13 x 13 x 384 x *1]
Validating --> conv3.y = RectifiedLinear (conv3.z) : [13 x 13 x 384 x *1] -> [13 x 13 x 384 x *1]
Validating --> conv4.c = Convolution (conv4.W, conv3.y) : [256 x 3456], [13 x 13 x 384 x *1] -> [13 x 13 x 256 x *1]
Validating --> conv4.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv4.z = Plus (conv4.c, conv4.b) : [13 x 13 x 256 x *1], [1 x 1 x 256] -> [13 x 13 x 256 x *1]
Validating --> conv4.y = RectifiedLinear (conv4.z) : [13 x 13 x 256 x *1] -> [13 x 13 x 256 x *1]
Validating --> conv5.c = Convolution (conv5.W, conv4.y) : [256 x 2304], [13 x 13 x 256 x *1] -> [13 x 13 x 256 x *1]
Validating --> conv5.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv5.z = Plus (conv5.c, conv5.b) : [13 x 13 x 256 x *1], [1 x 1 x 256] -> [13 x 13 x 256 x *1]
Validating --> conv5.y = RectifiedLinear (conv5.z) : [13 x 13 x 256 x *1] -> [13 x 13 x 256 x *1]
Validating --> pool3 = MaxPooling (conv5.y) : [13 x 13 x 256 x *1] -> [6 x 6 x 256 x *1]
Validating --> h1.t = Times (h1.W, pool3) : [4096 x 6 x 6 x 256], [6 x 6 x 256 x *1] -> [4096 x *1]
Validating --> h1.b = LearnableParameter() : -> [4096]
Validating --> h1.z = Plus (h1.t, h1.b) : [4096 x *1], [4096] -> [4096 x *1]
Validating --> h1.y = RectifiedLinear (h1.z) : [4096 x *1] -> [4096 x *1]
Validating --> h1_d = Dropout (h1.y) : [4096 x *1] -> [4096 x *1]
Validating --> h2.t = Times (h2.W, h1_d) : [4096 x 4096], [4096 x *1] -> [4096 x *1]
Validating --> h2.b = LearnableParameter() : -> [4096]
Validating --> h2.z = Plus (h2.t, h2.b) : [4096 x *1], [4096] -> [4096 x *1]
Validating --> h2.y = RectifiedLinear (h2.z) : [4096 x *1] -> [4096 x *1]
Validating --> h2_d = Dropout (h2.y) : [4096 x *1] -> [4096 x *1]
Validating --> OutputNodes.t = Times (OutputNodes.W, h2_d) : [1000 x 4096], [4096 x *1] -> [1000 x *1]
Validating --> OutputNodes.b = LearnableParameter() : -> [1000]
Validating --> OutputNodes.z = Plus (OutputNodes.t, OutputNodes.b) : [1000 x *1], [1000] -> [1000 x *1]
Validating --> labels = InputValue() : -> [1000 x *1]
Validating --> ce = CrossEntropyWithSoftmax (labels, OutputNodes.z) : [1000 x *1], [1000 x *1] -> [1]
Validating --> err = ErrorPrediction (labels, OutputNodes.z) : [1000 x *1], [1000 x *1] -> [1]
Validating network. 30 nodes to process in pass 2.
Validating network, final pass.
Using GEMM convolution engine for geometry: Input: 224 x 224 x 3, Output: 56 x 56 x 64, Kernel: 11 x 11 x 3, Map: 1 x 1 x 64, Stride: 4 x 4 x 3, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 56 x 56 x 64, Output: 27 x 27 x 64, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 27 x 27 x 64, Output: 27 x 27 x 192, Kernel: 5 x 5 x 64, Map: 1 x 1 x 192, Stride: 1 x 1 x 64, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 27 x 27 x 192, Output: 13 x 13 x 192, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 13 x 13 x 192, Output: 13 x 13 x 384, Kernel: 3 x 3 x 192, Map: 1 x 1 x 384, Stride: 1 x 1 x 192, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 13 x 13 x 384, Output: 13 x 13 x 256, Kernel: 3 x 3 x 384, Map: 1 x 1 x 256, Stride: 1 x 1 x 384, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 13 x 13 x 256, Output: 13 x 13 x 256, Kernel: 3 x 3 x 256, Map: 1 x 1 x 256, Stride: 1 x 1 x 256, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using GEMM convolution engine for geometry: Input: 13 x 13 x 256, Output: 6 x 6 x 256, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
18 out of 48 nodes do not share the minibatch layout with the input data.
Post-processing network complete.
Post-processing network...
4 roots:
OutputNodes.z = Plus()
ce = CrossEntropyWithSoftmax()
err = ErrorPrediction()
errTop5 = ErrorPrediction()
Validating network. 50 nodes to process in pass 1.
Validating --> OutputNodes.W = LearnableParameter() : -> [1000 x 4096]
Validating --> h2.W = LearnableParameter() : -> [4096 x 4096]
Validating --> h1.W = LearnableParameter() : -> [4096 x 6 x 6 x 256]
Validating --> conv5.W = LearnableParameter() : -> [256 x 2304]
Validating --> conv4.W = LearnableParameter() : -> [256 x 3456]
Validating --> conv3.W = LearnableParameter() : -> [384 x 1728]
Validating --> conv2.W = LearnableParameter() : -> [192 x 1600]
Validating --> conv1.W = LearnableParameter() : -> [64 x 363]
Validating --> features = InputValue() : -> [224 x 224 x 3 x *1]
Validating --> conv1.c = Convolution (conv1.W, features) : [64 x 363], [224 x 224 x 3 x *1] -> [56 x 56 x 64 x *1]
Validating --> conv1.b = LearnableParameter() : -> [1 x 1 x 64]
Validating --> conv1.z = Plus (conv1.c, conv1.b) : [56 x 56 x 64 x *1], [1 x 1 x 64] -> [56 x 56 x 64 x *1]
Validating --> conv1.y = RectifiedLinear (conv1.z) : [56 x 56 x 64 x *1] -> [56 x 56 x 64 x *1]
Validating --> pool1 = MaxPooling (conv1.y) : [56 x 56 x 64 x *1] -> [27 x 27 x 64 x *1]
Validating --> conv2.c = Convolution (conv2.W, pool1) : [192 x 1600], [27 x 27 x 64 x *1] -> [27 x 27 x 192 x *1]
Validating --> conv2.b = LearnableParameter() : -> [1 x 1 x 192]
Validating --> conv2.z = Plus (conv2.c, conv2.b) : [27 x 27 x 192 x *1], [1 x 1 x 192] -> [27 x 27 x 192 x *1]
Validating --> conv2.y = RectifiedLinear (conv2.z) : [27 x 27 x 192 x *1] -> [27 x 27 x 192 x *1]
Validating --> pool2 = MaxPooling (conv2.y) : [27 x 27 x 192 x *1] -> [13 x 13 x 192 x *1]
Validating --> conv3.c = Convolution (conv3.W, pool2) : [384 x 1728], [13 x 13 x 192 x *1] -> [13 x 13 x 384 x *1]
Validating --> conv3.b = LearnableParameter() : -> [1 x 1 x 384]
Validating --> conv3.z = Plus (conv3.c, conv3.b) : [13 x 13 x 384 x *1], [1 x 1 x 384] -> [13 x 13 x 384 x *1]
Validating --> conv3.y = RectifiedLinear (conv3.z) : [13 x 13 x 384 x *1] -> [13 x 13 x 384 x *1]
Validating --> conv4.c = Convolution (conv4.W, conv3.y) : [256 x 3456], [13 x 13 x 384 x *1] -> [13 x 13 x 256 x *1]
Validating --> conv4.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv4.z = Plus (conv4.c, conv4.b) : [13 x 13 x 256 x *1], [1 x 1 x 256] -> [13 x 13 x 256 x *1]
Validating --> conv4.y = RectifiedLinear (conv4.z) : [13 x 13 x 256 x *1] -> [13 x 13 x 256 x *1]
Validating --> conv5.c = Convolution (conv5.W, conv4.y) : [256 x 2304], [13 x 13 x 256 x *1] -> [13 x 13 x 256 x *1]
Validating --> conv5.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv5.z = Plus (conv5.c, conv5.b) : [13 x 13 x 256 x *1], [1 x 1 x 256] -> [13 x 13 x 256 x *1]
Validating --> conv5.y = RectifiedLinear (conv5.z) : [13 x 13 x 256 x *1] -> [13 x 13 x 256 x *1]
Validating --> pool3 = MaxPooling (conv5.y) : [13 x 13 x 256 x *1] -> [6 x 6 x 256 x *1]
Validating --> h1.t = Times (h1.W, pool3) : [4096 x 6 x 6 x 256], [6 x 6 x 256 x *1] -> [4096 x *1]
Validating --> h1.b = LearnableParameter() : -> [4096]
Validating --> h1.z = Plus (h1.t, h1.b) : [4096 x *1], [4096] -> [4096 x *1]
Validating --> h1.y = RectifiedLinear (h1.z) : [4096 x *1] -> [4096 x *1]
Validating --> h1_d = Dropout (h1.y) : [4096 x *1] -> [4096 x *1]
Validating --> h2.t = Times (h2.W, h1_d) : [4096 x 4096], [4096 x *1] -> [4096 x *1]
Validating --> h2.b = LearnableParameter() : -> [4096]
Validating --> h2.z = Plus (h2.t, h2.b) : [4096 x *1], [4096] -> [4096 x *1]
Validating --> h2.y = RectifiedLinear (h2.z) : [4096 x *1] -> [4096 x *1]
Validating --> h2_d = Dropout (h2.y) : [4096 x *1] -> [4096 x *1]
Validating --> OutputNodes.t = Times (OutputNodes.W, h2_d) : [1000 x 4096], [4096 x *1] -> [1000 x *1]
Validating --> OutputNodes.b = LearnableParameter() : -> [1000]
Validating --> OutputNodes.z = Plus (OutputNodes.t, OutputNodes.b) : [1000 x *1], [1000] -> [1000 x *1]
Validating --> labels = InputValue() : -> [1000 x *1]
Validating --> ce = CrossEntropyWithSoftmax (labels, OutputNodes.z) : [1000 x *1], [1000 x *1] -> [1]
Validating --> err = ErrorPrediction (labels, OutputNodes.z) : [1000 x *1], [1000 x *1] -> [1]
Validating --> unnamed137 = LearnableParameter() : -> [1 x 1]
Validating --> errTop5 = ErrorPrediction (labels, OutputNodes.z, unnamed137) : [1000 x *1], [1000 x *1], [1 x 1] -> [1]
Validating network. 31 nodes to process in pass 2.
Validating network, final pass.
20 out of 50 nodes do not share the minibatch layout with the input data.
Post-processing network complete.
05/03/2016 14:12:12: Action "edit" complete.
05/03/2016 14:12:12: ##############################################################################
05/03/2016 14:12:12: # #
05/03/2016 14:12:12: # Action "test" #
05/03/2016 14:12:12: # #
05/03/2016 14:12:12: ##############################################################################
Post-processing network...
4 roots:
OutputNodes.z = Plus()
ce = CrossEntropyWithSoftmax()
err = ErrorPrediction()
errTop5 = ErrorPrediction()
Validating network. 50 nodes to process in pass 1.
Validating --> OutputNodes.W = LearnableParameter() : -> [1000 x 4096]
Validating --> h2.W = LearnableParameter() : -> [4096 x 4096]
Validating --> h1.W = LearnableParameter() : -> [4096 x 6 x 6 x 256]
Validating --> conv5.W = LearnableParameter() : -> [256 x 2304]
Validating --> conv4.W = LearnableParameter() : -> [256 x 3456]
Validating --> conv3.W = LearnableParameter() : -> [384 x 1728]
Validating --> conv2.W = LearnableParameter() : -> [192 x 1600]
Validating --> conv1.W = LearnableParameter() : -> [64 x 363]
Validating --> features = InputValue() : -> [224 x 224 x 3 x *2]
Validating --> conv1.c = Convolution (conv1.W, features) : [64 x 363], [224 x 224 x 3 x *2] -> [56 x 56 x 64 x *2]
Validating --> conv1.b = LearnableParameter() : -> [1 x 1 x 64]
Validating --> conv1.z = Plus (conv1.c, conv1.b) : [56 x 56 x 64 x *2], [1 x 1 x 64] -> [56 x 56 x 64 x *2]
Validating --> conv1.y = RectifiedLinear (conv1.z) : [56 x 56 x 64 x *2] -> [56 x 56 x 64 x *2]
Validating --> pool1 = MaxPooling (conv1.y) : [56 x 56 x 64 x *2] -> [27 x 27 x 64 x *2]
Validating --> conv2.c = Convolution (conv2.W, pool1) : [192 x 1600], [27 x 27 x 64 x *2] -> [27 x 27 x 192 x *2]
Validating --> conv2.b = LearnableParameter() : -> [1 x 1 x 192]
Validating --> conv2.z = Plus (conv2.c, conv2.b) : [27 x 27 x 192 x *2], [1 x 1 x 192] -> [27 x 27 x 192 x *2]
Validating --> conv2.y = RectifiedLinear (conv2.z) : [27 x 27 x 192 x *2] -> [27 x 27 x 192 x *2]
Validating --> pool2 = MaxPooling (conv2.y) : [27 x 27 x 192 x *2] -> [13 x 13 x 192 x *2]
Validating --> conv3.c = Convolution (conv3.W, pool2) : [384 x 1728], [13 x 13 x 192 x *2] -> [13 x 13 x 384 x *2]
Validating --> conv3.b = LearnableParameter() : -> [1 x 1 x 384]
Validating --> conv3.z = Plus (conv3.c, conv3.b) : [13 x 13 x 384 x *2], [1 x 1 x 384] -> [13 x 13 x 384 x *2]
Validating --> conv3.y = RectifiedLinear (conv3.z) : [13 x 13 x 384 x *2] -> [13 x 13 x 384 x *2]
Validating --> conv4.c = Convolution (conv4.W, conv3.y) : [256 x 3456], [13 x 13 x 384 x *2] -> [13 x 13 x 256 x *2]
Validating --> conv4.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv4.z = Plus (conv4.c, conv4.b) : [13 x 13 x 256 x *2], [1 x 1 x 256] -> [13 x 13 x 256 x *2]
Validating --> conv4.y = RectifiedLinear (conv4.z) : [13 x 13 x 256 x *2] -> [13 x 13 x 256 x *2]
Validating --> conv5.c = Convolution (conv5.W, conv4.y) : [256 x 2304], [13 x 13 x 256 x *2] -> [13 x 13 x 256 x *2]
Validating --> conv5.b = LearnableParameter() : -> [1 x 1 x 256]
Validating --> conv5.z = Plus (conv5.c, conv5.b) : [13 x 13 x 256 x *2], [1 x 1 x 256] -> [13 x 13 x 256 x *2]
Validating --> conv5.y = RectifiedLinear (conv5.z) : [13 x 13 x 256 x *2] -> [13 x 13 x 256 x *2]
Validating --> pool3 = MaxPooling (conv5.y) : [13 x 13 x 256 x *2] -> [6 x 6 x 256 x *2]
Validating --> h1.t = Times (h1.W, pool3) : [4096 x 6 x 6 x 256], [6 x 6 x 256 x *2] -> [4096 x *2]
Validating --> h1.b = LearnableParameter() : -> [4096]
Validating --> h1.z = Plus (h1.t, h1.b) : [4096 x *2], [4096] -> [4096 x *2]
Validating --> h1.y = RectifiedLinear (h1.z) : [4096 x *2] -> [4096 x *2]
Validating --> h1_d = Dropout (h1.y) : [4096 x *2] -> [4096 x *2]
Validating --> h2.t = Times (h2.W, h1_d) : [4096 x 4096], [4096 x *2] -> [4096 x *2]
Validating --> h2.b = LearnableParameter() : -> [4096]
Validating --> h2.z = Plus (h2.t, h2.b) : [4096 x *2], [4096] -> [4096 x *2]
Validating --> h2.y = RectifiedLinear (h2.z) : [4096 x *2] -> [4096 x *2]
Validating --> h2_d = Dropout (h2.y) : [4096 x *2] -> [4096 x *2]
Validating --> OutputNodes.t = Times (OutputNodes.W, h2_d) : [1000 x 4096], [4096 x *2] -> [1000 x *2]
Validating --> OutputNodes.b = LearnableParameter() : -> [1000]
Validating --> OutputNodes.z = Plus (OutputNodes.t, OutputNodes.b) : [1000 x *2], [1000] -> [1000 x *2]
Validating --> labels = InputValue() : -> [1000 x *2]
Validating --> ce = CrossEntropyWithSoftmax (labels, OutputNodes.z) : [1000 x *2], [1000 x *2] -> [1]
Validating --> err = ErrorPrediction (labels, OutputNodes.z) : [1000 x *2], [1000 x *2] -> [1]
Validating --> unnamed137 = LearnableParameter() : -> [1 x 1]
Validating --> errTop5 = ErrorPrediction (labels, OutputNodes.z, unnamed137) : [1000 x *2], [1000 x *2], [1 x 1] -> [1]
Validating network. 31 nodes to process in pass 2.
Validating network, final pass.
Using cuDNN convolution engine for geometry: Input: 224 x 224 x 3, Output: 56 x 56 x 64, Kernel: 11 x 11 x 3, Map: 1 x 1 x 64, Stride: 4 x 4 x 3, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 56 x 56 x 64, Output: 27 x 27 x 64, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 27 x 27 x 64, Output: 27 x 27 x 192, Kernel: 5 x 5 x 64, Map: 1 x 1 x 192, Stride: 1 x 1 x 64, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 27 x 27 x 192, Output: 13 x 13 x 192, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 192, Output: 13 x 13 x 384, Kernel: 3 x 3 x 192, Map: 1 x 1 x 384, Stride: 1 x 1 x 192, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 384, Output: 13 x 13 x 256, Kernel: 3 x 3 x 384, Map: 1 x 1 x 256, Stride: 1 x 1 x 384, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 256, Output: 13 x 13 x 256, Kernel: 3 x 3 x 256, Map: 1 x 1 x 256, Stride: 1 x 1 x 256, Sharing: (1), AutoPad: (1), LowerPad: 0, UpperPad: 0.
Using cuDNN convolution engine for geometry: Input: 13 x 13 x 256, Output: 6 x 6 x 256, Kernel: 3 x 3 x 1, Map: 1, Stride: 2 x 2 x 1, Sharing: (1), AutoPad: (0), LowerPad: 0, UpperPad: 0.
20 out of 50 nodes do not share the minibatch layout with the input data.
Post-processing network complete.
evalNodeNames are not specified, using all the default evalnodes and training criterion nodes.
Allocating matrices for forward and/or backward propagation.
Memory Sharing Structure:
0000000000000000: {[OutputNodes.W Gradient[1000 x 4096]] [OutputNodes.b Gradient[1000]] [OutputNodes.t Gradient[1000 x *2]] [OutputNodes.z Gradient[1000 x *2]] [ce Gradient[1]] [conv1.W Gradient[64 x 363]] [conv1.b Gradient[1 x 1 x 64]] [conv1.c Gradient[56 x 56 x 64 x *2]] [conv1.y Gradient[56 x 56 x 64 x *2]] [conv1.z Gradient[56 x 56 x 64 x *2]] [conv2.W Gradient[192 x 1600]] [conv2.b Gradient[1 x 1 x 192]] [conv2.c Gradient[27 x 27 x 192 x *2]] [conv2.y Gradient[27 x 27 x 192 x *2]] [conv2.z Gradient[27 x 27 x 192 x *2]] [conv3.W Gradient[384 x 1728]] [conv3.b Gradient[1 x 1 x 384]] [conv3.c Gradient[13 x 13 x 384 x *2]] [conv3.y Gradient[13 x 13 x 384 x *2]] [conv3.z Gradient[13 x 13 x 384 x *2]] [conv4.W Gradient[256 x 3456]] [conv4.b Gradient[1 x 1 x 256]] [conv4.c Gradient[13 x 13 x 256 x *2]] [conv4.y Gradient[13 x 13 x 256 x *2]] [conv4.z Gradient[13 x 13 x 256 x *2]] [conv5.W Gradient[256 x 2304]] [conv5.b Gradient[1 x 1 x 256]] [conv5.c Gradient[13 x 13 x 256 x *2]] [conv5.y Gradient[13 x 13 x 256 x *2]] [conv5.z Gradient[13 x 13 x 256 x *2]] [err Gradient[1]] [errTop5 Gradient[1]] [features Gradient[224 x 224 x 3 x *2]] [h1.W Gradient[4096 x 6 x 6 x 256]] [h1.b Gradient[4096]] [h1.t Gradient[4096 x *2]] [h1.y Gradient[4096 x *2]] [h1.z Gradient[4096 x *2]] [h1_d Gradient[4096 x *2]] [h2.W Gradient[4096 x 4096]] [h2.b Gradient[4096]] [h2.t Gradient[4096 x *2]] [h2.y Gradient[4096 x *2]] [h2.z Gradient[4096 x *2]] [h2_d Gradient[4096 x *2]] [labels Gradient[1000 x *2]] [pool1 Gradient[27 x 27 x 64 x *2]] [pool2 Gradient[13 x 13 x 192 x *2]] [pool3 Gradient[6 x 6 x 256 x *2]] [unnamed137 Gradient[1 x 1]] }
000000E28E168F70: {[conv3.W Value[384 x 1728]] }
000000E28E1691F0: {[conv5.W Value[256 x 2304]] }
000000E28E1693D0: {[conv4.b Value[1 x 1 x 256]] }
000000E28E169510: {[conv4.W Value[256 x 3456]] }
000000E28E169830: {[conv5.b Value[1 x 1 x 256]] }
000000E28E1698D0: {[conv3.b Value[1 x 1 x 384]] }
000000E36C778260: {[OutputNodes.b Value[1000]] }
000000E36C7783A0: {[OutputNodes.W Value[1000 x 4096]] }
000000E36C778440: {[labels Value[1000 x *2]] }
000000E36C7786C0: {[features Value[224 x 224 x 3 x *2]] }
000000E36C7788A0: {[h1.b Value[4096]] }
000000E36C7789E0: {[h2.b Value[4096]] }
000000E36C778B20: {[h2.W Value[4096 x 4096]] }
000000E36C778DA0: {[h1.W Value[4096 x 6 x 6 x 256]] }
000000E370969220: {[conv5.y Value[13 x 13 x 256 x *2]] }
000000E370969360: {[h1.t Value[4096 x *2]] }
000000E3709694A0: {[conv4.z Value[13 x 13 x 256 x *2]] }
000000E370969540: {[conv4.c Value[13 x 13 x 256 x *2]] }
000000E370969680: {[conv4.y Value[13 x 13 x 256 x *2]] }
000000E370969720: {[conv5.z Value[13 x 13 x 256 x *2]] }
000000E3709697C0: {[h1.z Value[4096 x *2]] }
000000E370969860: {[h1_d Value[4096 x *2]] }
000000E3709699A0: {[h2.t Value[4096 x *2]] }
000000E370969A40: {[h2.z Value[4096 x *2]] }
000000E370969AE0: {[h2.y Value[4096 x *2]] }
000000E370969B80: {[h2_d Value[4096 x *2]] }
000000E370969C20: {[conv3.y Value[13 x 13 x 384 x *2]] }
000000E370969CC0: {[conv5.c Value[13 x 13 x 256 x *2]] }
000000E370969D60: {[h1.y Value[4096 x *2]] }
000000E370969EA0: {[OutputNodes.t Value[1000 x *2]] }
000000E370969F40: {[pool3 Value[6 x 6 x 256 x *2]] }
000000E37096A080: {[OutputNodes.z Value[1000 x *2]] }
000000E3728E02A0: {[conv2.y Value[27 x 27 x 192 x *2]] }
000000E3728E0340: {[conv1.c Value[56 x 56 x 64 x *2]] }
000000E3728E03E0: {[err Value[1]] }
000000E3728E0480: {[conv1.z Value[56 x 56 x 64 x *2]] }
000000E3728E0700: {[pool2 Value[13 x 13 x 192 x *2]] }
000000E3728E07A0: {[conv3.c Value[13 x 13 x 384 x *2]] }
000000E3728E0980: {[errTop5 Value[1]] }
000000E3728E0A20: {[conv3.z Value[13 x 13 x 384 x *2]] }
000000E3728E0AC0: {[ce Value[1]] }
000000E3728E0CA0: {[unnamed137 Value[1 x 1]] }
000000E3728E0DE0: {[conv1.y Value[56 x 56 x 64 x *2]] }
000000E3728E0E80: {[pool1 Value[27 x 27 x 64 x *2]] }
000000E3728E0F20: {[conv2.c Value[27 x 27 x 192 x *2]] }
000000E3728E1100: {[conv2.z Value[27 x 27 x 192 x *2]] }
000000E372D9CB80: {[conv2.b Value[1 x 1 x 192]] }
000000E372D9CE00: {[conv1.W Value[64 x 363]] }
000000E372D9CFE0: {[conv2.W Value[192 x 1600]] }
000000E372D9D120: {[conv1.b Value[1 x 1 x 64]] }
05/03/2016 14:12:19: Final Results: Minibatch[1-32]: err = 0.99800000 * 500; errTop5 = 0.99600000 * 500; ce = 6.94932878 * 500; perplexity = 1042.44978531
05/03/2016 14:12:19: Action "test" complete.
05/03/2016 14:12:19: __COMPLETED__

Просмотреть файл

@ -0,0 +1,47 @@
#!/bin/bash
. $TEST_ROOT_DIR/run-test-common
# This test uses a large dataset which is not part of the CNTK repository itself
# We use the dataset from an external location specified using an environment variable
if [[ "$CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY" == "" || ! -d "$CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY" ]]; then
echo 'This test uses external data that is not part of the CNTK repository. Environment variable CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY must be set to point to the external test data location'
exit 1
fi
if [ "$OS" == "Windows_NT" ]; then
DataSourceDir=`cygpath -au $CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY`/private/Image/ResNet/Data/v0
else
DataSourceDir=$CNTK_EXTERNAL_TESTDATA_SOURCE_DIRECTORY/private/Image/ResNet/Data/v0
fi
# Copy the test data to the test run directory
echo 'Copying test data to local directory'
DataDir=$TEST_RUN_DIR/TestData
mkdir $DataDir
cp -R $DataSourceDir/* $DataDir || exit $?
OriginalTestDir=..
(cd $TEST_DIR/$OriginalTestDir && md5sum baseline*) | (cd $TEST_DIR && md5sum --status -c -)
if [ $? != 0 ]; then
echo Error: Baselines copied from $OriginalTestDir must match the baselines of the original test.
exit 1
fi
ConfigDir=$TEST_DIR/..
# Set the required parameters for the configuration
if [ "$OS" == "Windows_NT" ]; then
ConfigDir=$(cygpath -aw $ConfigDir)
fi
# cntkrun <CNTK config file name> <additional CNTK args>
cntkrun AlexNetCommon.cntk "configFile=$ConfigDir/AlexNetComposite.cntk"
ExitCode=$?
# Delete the test data
rm -rf $DataDir
exit $ExitCode

Просмотреть файл

@ -0,0 +1,31 @@
dataDir: ../../Data
tags:
# running on every BVT job in 'I' (Image) leg:
- bvt-i (build_sku == 'gpu') and (device=='gpu') and (flavor=='release')
# running every Nightly job in 'I' leg
- nightly-i (build_sku == 'gpu') and (device=='gpu') and (flavor=='release')
testCases:
CNTK Run must be completed:
patterns:
- __COMPLETED__
Must train epochs in exactly same order and parameters:
patterns:
- Starting Epoch {{integer}}
- learning rate per sample = {{float}}
- momentum = {{float}}
Epochs must be finished with expected results:
patterns:
- Finished Epoch[{{integer}} of {{integer}}]
- ce = {{float,tolerance=2.0%}}
- err = {{float,tolerance=2.0%}}
- learningRatePerSample = {{float,tolerance=0.001%}}
Per-minibatch training results must match:
patterns:
- Epoch[{{integer}} of {{integer}}]-Minibatch[{{integer}}-{{integer}}
- " * {{integer}}; "
- ce = {{float,tolerance=2.0%}}

Просмотреть файл

@ -21,8 +21,12 @@ DataDir=$TEST_RUN_DIR/TestData
mkdir $DataDir
cp -R $DataSourceDir/* $DataDir || exit $?
if [ "$OS" == "Windows_NT" ]; then
ConfigDir=$(cygpath -aw $ConfigDir)
fi
# cntkrun <CNTK config file name> <additional CNTK args>
cntkrun AlexNet.cntk
cntkrun AlexNetCommon.cntk "configFile=$ConfigDir/AlexNet.cntk"
ExitCode=$?
# Delete the test data

Просмотреть файл

@ -41,7 +41,6 @@ train=[
# which is 886 * 5000
recurrentLayer=1
defaultHiddenActivity=0.1
useValidation=true
rnnType=CLASSLM
# rnnType=LSTM
@ -308,7 +307,6 @@ test=[
# which is 886 * 5000
recurrentLayer=1
defaultHiddenActivity=0.1
useValidation=true
rnnType=CLASSLM
modelPath=$ExpFolder$\modelRnnCNTK
@ -411,4 +409,4 @@ test=[
]
]
]
]
]

Просмотреть файл

@ -30,7 +30,6 @@ train=[
# which is 886 * 5000
recurrentLayer=1
defaultHiddenActivity=0.0
useValidation=true
rnnType=CLASSLM
# rnnType=LSTM
@ -297,7 +296,6 @@ test=[
# which is 886 * 5000
recurrentLayer=1
defaultHiddenActivity=0.1
useValidation=true
rnnType=CLASSLM
modelPath=$ExpFolder$\modelRnnCNTK
@ -400,4 +398,4 @@ test=[
]
]
]
]
]

Просмотреть файл

@ -71,7 +71,6 @@ write = [
deviceId = $DeviceId$
traceLevel = 1
useValidation=true
printValues=true

Просмотреть файл

@ -630,76 +630,76 @@ minibatchiterator: epoch 0: frames [0..81920] (first utterance at frame 0), data
requiredata: determined feature kind as 33-dimensional 'USER' with frame shift 10.0 ms
Starting minibatch loop.
Epoch[ 1 of 2]-Minibatch[ 1- 10 of 320]: * 2560; CrossEntropyWithSoftmax = 3.74305420; EvalErrorPrediction = 0.81132812; TotalTime = 1.61207s; TotalTimePerSample = 0.62972ms; SamplesPerSecond = 1588
Epoch[ 1 of 2]-Minibatch[ 11- 20 of 320]: * 2560; CrossEntropyWithSoftmax = 2.94799194; EvalErrorPrediction = 0.72539062; TotalTime = 1.71218s; TotalTimePerSample = 0.66882ms; SamplesPerSecond = 1495
Epoch[ 1 of 2]-Minibatch[ 21- 30 of 320]: * 2560; CrossEntropyWithSoftmax = 2.62617187; EvalErrorPrediction = 0.68046875; TotalTime = 1.96081s; TotalTimePerSample = 0.76594ms; SamplesPerSecond = 1305
Epoch[ 1 of 2]-Minibatch[ 31- 40 of 320]: * 2560; CrossEntropyWithSoftmax = 2.31340332; EvalErrorPrediction = 0.60000000; TotalTime = 1.98096s; TotalTimePerSample = 0.77381ms; SamplesPerSecond = 1292
Epoch[ 1 of 2]-Minibatch[ 41- 50 of 320]: * 2560; CrossEntropyWithSoftmax = 2.08197784; EvalErrorPrediction = 0.56367188; TotalTime = 2.37392s; TotalTimePerSample = 0.92731ms; SamplesPerSecond = 1078
Epoch[ 1 of 2]-Minibatch[ 51- 60 of 320]: * 2560; CrossEntropyWithSoftmax = 1.93575439; EvalErrorPrediction = 0.53437500; TotalTime = 2.27887s; TotalTimePerSample = 0.89018ms; SamplesPerSecond = 1123
Epoch[ 1 of 2]-Minibatch[ 61- 70 of 320]: * 2560; CrossEntropyWithSoftmax = 1.83957062; EvalErrorPrediction = 0.51796875; TotalTime = 2.12047s; TotalTimePerSample = 0.82831ms; SamplesPerSecond = 1207
Epoch[ 1 of 2]-Minibatch[ 71- 80 of 320]: * 2560; CrossEntropyWithSoftmax = 1.70679779; EvalErrorPrediction = 0.48750000; TotalTime = 1.99332s; TotalTimePerSample = 0.77864ms; SamplesPerSecond = 1284
Epoch[ 1 of 2]-Minibatch[ 81- 90 of 320]: * 2560; CrossEntropyWithSoftmax = 1.59371796; EvalErrorPrediction = 0.45703125; TotalTime = 2.26050s; TotalTimePerSample = 0.88301ms; SamplesPerSecond = 1132
Epoch[ 1 of 2]-Minibatch[ 91- 100 of 320]: * 2560; CrossEntropyWithSoftmax = 1.64279327; EvalErrorPrediction = 0.48593750; TotalTime = 2.19745s; TotalTimePerSample = 0.85838ms; SamplesPerSecond = 1164
Epoch[ 1 of 2]-Minibatch[ 101- 110 of 320]: * 2560; CrossEntropyWithSoftmax = 1.60591888; EvalErrorPrediction = 0.47578125; TotalTime = 2.17477s; TotalTimePerSample = 0.84952ms; SamplesPerSecond = 1177
Epoch[ 1 of 2]-Minibatch[ 111- 120 of 320]: * 2560; CrossEntropyWithSoftmax = 1.52358704; EvalErrorPrediction = 0.44882813; TotalTime = 2.13886s; TotalTimePerSample = 0.83549ms; SamplesPerSecond = 1196
Epoch[ 1 of 2]-Minibatch[ 121- 130 of 320]: * 2560; CrossEntropyWithSoftmax = 1.49677734; EvalErrorPrediction = 0.44609375; TotalTime = 2.13765s; TotalTimePerSample = 0.83502ms; SamplesPerSecond = 1197
Epoch[ 1 of 2]-Minibatch[ 131- 140 of 320]: * 2560; CrossEntropyWithSoftmax = 1.54127502; EvalErrorPrediction = 0.45273438; TotalTime = 2.20730s; TotalTimePerSample = 0.86222ms; SamplesPerSecond = 1159
Epoch[ 1 of 2]-Minibatch[ 141- 150 of 320]: * 2560; CrossEntropyWithSoftmax = 1.43566284; EvalErrorPrediction = 0.41406250; TotalTime = 2.14483s; TotalTimePerSample = 0.83782ms; SamplesPerSecond = 1193
Epoch[ 1 of 2]-Minibatch[ 151- 160 of 320]: * 2560; CrossEntropyWithSoftmax = 1.41996460; EvalErrorPrediction = 0.40976563; TotalTime = 2.27204s; TotalTimePerSample = 0.88751ms; SamplesPerSecond = 1126
Epoch[ 1 of 2]-Minibatch[ 161- 170 of 320]: * 2560; CrossEntropyWithSoftmax = 1.38546448; EvalErrorPrediction = 0.40976563; TotalTime = 2.37860s; TotalTimePerSample = 0.92914ms; SamplesPerSecond = 1076
Epoch[ 1 of 2]-Minibatch[ 171- 180 of 320]: * 2560; CrossEntropyWithSoftmax = 1.40654907; EvalErrorPrediction = 0.42109375; TotalTime = 2.21343s; TotalTimePerSample = 0.86462ms; SamplesPerSecond = 1156
Epoch[ 1 of 2]-Minibatch[ 181- 190 of 320]: * 2560; CrossEntropyWithSoftmax = 1.41048584; EvalErrorPrediction = 0.41445312; TotalTime = 2.20519s; TotalTimePerSample = 0.86140ms; SamplesPerSecond = 1160
Epoch[ 1 of 2]-Minibatch[ 191- 200 of 320]: * 2560; CrossEntropyWithSoftmax = 1.43002319; EvalErrorPrediction = 0.42500000; TotalTime = 2.10237s; TotalTimePerSample = 0.82124ms; SamplesPerSecond = 1217
Epoch[ 1 of 2]-Minibatch[ 201- 210 of 320]: * 2560; CrossEntropyWithSoftmax = 1.41000977; EvalErrorPrediction = 0.42382812; TotalTime = 2.31127s; TotalTimePerSample = 0.90284ms; SamplesPerSecond = 1107
Epoch[ 1 of 2]-Minibatch[ 211- 220 of 320]: * 2560; CrossEntropyWithSoftmax = 1.33088989; EvalErrorPrediction = 0.40468750; TotalTime = 2.30367s; TotalTimePerSample = 0.89987ms; SamplesPerSecond = 1111
Epoch[ 1 of 2]-Minibatch[ 221- 230 of 320]: * 2560; CrossEntropyWithSoftmax = 1.28450928; EvalErrorPrediction = 0.38515625; TotalTime = 2.22202s; TotalTimePerSample = 0.86798ms; SamplesPerSecond = 1152
Epoch[ 1 of 2]-Minibatch[ 231- 240 of 320]: * 2560; CrossEntropyWithSoftmax = 1.34680481; EvalErrorPrediction = 0.40664062; TotalTime = 2.28282s; TotalTimePerSample = 0.89173ms; SamplesPerSecond = 1121
Epoch[ 1 of 2]-Minibatch[ 241- 250 of 320]: * 2560; CrossEntropyWithSoftmax = 1.32020569; EvalErrorPrediction = 0.39140625; TotalTime = 2.06229s; TotalTimePerSample = 0.80558ms; SamplesPerSecond = 1241
Epoch[ 1 of 2]-Minibatch[ 251- 260 of 320]: * 2560; CrossEntropyWithSoftmax = 1.22445068; EvalErrorPrediction = 0.37031250; TotalTime = 2.10306s; TotalTimePerSample = 0.82151ms; SamplesPerSecond = 1217
Epoch[ 1 of 2]-Minibatch[ 261- 270 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23881226; EvalErrorPrediction = 0.37109375; TotalTime = 2.26618s; TotalTimePerSample = 0.88523ms; SamplesPerSecond = 1129
Epoch[ 1 of 2]-Minibatch[ 271- 280 of 320]: * 2560; CrossEntropyWithSoftmax = 1.30255432; EvalErrorPrediction = 0.38984375; TotalTime = 2.17350s; TotalTimePerSample = 0.84902ms; SamplesPerSecond = 1177
Epoch[ 1 of 2]-Minibatch[ 281- 290 of 320]: * 2560; CrossEntropyWithSoftmax = 1.22100830; EvalErrorPrediction = 0.36992188; TotalTime = 1.77139s; TotalTimePerSample = 0.69195ms; SamplesPerSecond = 1445
Epoch[ 1 of 2]-Minibatch[ 291- 300 of 320]: * 2560; CrossEntropyWithSoftmax = 1.21442871; EvalErrorPrediction = 0.36445312; TotalTime = 2.28764s; TotalTimePerSample = 0.89361ms; SamplesPerSecond = 1119
Epoch[ 1 of 2]-Minibatch[ 301- 310 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23150024; EvalErrorPrediction = 0.37578125; TotalTime = 2.29486s; TotalTimePerSample = 0.89643ms; SamplesPerSecond = 1115
Epoch[ 1 of 2]-Minibatch[ 311- 320 of 320]: * 2560; CrossEntropyWithSoftmax = 1.25499268; EvalErrorPrediction = 0.37656250; TotalTime = 2.14378s; TotalTimePerSample = 0.83741ms; SamplesPerSecond = 1194
Finished Epoch[ 1 of 2]: [Training] CrossEntropyWithSoftmax = 1.6395972; EvalErrorPrediction = 0.46284181; learningRatePerSample = 0.003125000047; EpochTime=69.649363
Epoch[ 1 of 2]-Minibatch[ 1- 10 of 320]: * 2560; ce = 3.74305420; err = 0.81132812; TotalTime = 1.61207s; TotalTimePerSample = 0.62972ms; SamplesPerSecond = 1588
Epoch[ 1 of 2]-Minibatch[ 11- 20 of 320]: * 2560; ce = 2.94799194; err = 0.72539062; TotalTime = 1.71218s; TotalTimePerSample = 0.66882ms; SamplesPerSecond = 1495
Epoch[ 1 of 2]-Minibatch[ 21- 30 of 320]: * 2560; ce = 2.62617187; err = 0.68046875; TotalTime = 1.96081s; TotalTimePerSample = 0.76594ms; SamplesPerSecond = 1305
Epoch[ 1 of 2]-Minibatch[ 31- 40 of 320]: * 2560; ce = 2.31340332; err = 0.60000000; TotalTime = 1.98096s; TotalTimePerSample = 0.77381ms; SamplesPerSecond = 1292
Epoch[ 1 of 2]-Minibatch[ 41- 50 of 320]: * 2560; ce = 2.08197784; err = 0.56367188; TotalTime = 2.37392s; TotalTimePerSample = 0.92731ms; SamplesPerSecond = 1078
Epoch[ 1 of 2]-Minibatch[ 51- 60 of 320]: * 2560; ce = 1.93575439; err = 0.53437500; TotalTime = 2.27887s; TotalTimePerSample = 0.89018ms; SamplesPerSecond = 1123
Epoch[ 1 of 2]-Minibatch[ 61- 70 of 320]: * 2560; ce = 1.83957062; err = 0.51796875; TotalTime = 2.12047s; TotalTimePerSample = 0.82831ms; SamplesPerSecond = 1207
Epoch[ 1 of 2]-Minibatch[ 71- 80 of 320]: * 2560; ce = 1.70679779; err = 0.48750000; TotalTime = 1.99332s; TotalTimePerSample = 0.77864ms; SamplesPerSecond = 1284
Epoch[ 1 of 2]-Minibatch[ 81- 90 of 320]: * 2560; ce = 1.59371796; err = 0.45703125; TotalTime = 2.26050s; TotalTimePerSample = 0.88301ms; SamplesPerSecond = 1132
Epoch[ 1 of 2]-Minibatch[ 91- 100 of 320]: * 2560; ce = 1.64279327; err = 0.48593750; TotalTime = 2.19745s; TotalTimePerSample = 0.85838ms; SamplesPerSecond = 1164
Epoch[ 1 of 2]-Minibatch[ 101- 110 of 320]: * 2560; ce = 1.60591888; err = 0.47578125; TotalTime = 2.17477s; TotalTimePerSample = 0.84952ms; SamplesPerSecond = 1177
Epoch[ 1 of 2]-Minibatch[ 111- 120 of 320]: * 2560; ce = 1.52358704; err = 0.44882813; TotalTime = 2.13886s; TotalTimePerSample = 0.83549ms; SamplesPerSecond = 1196
Epoch[ 1 of 2]-Minibatch[ 121- 130 of 320]: * 2560; ce = 1.49677734; err = 0.44609375; TotalTime = 2.13765s; TotalTimePerSample = 0.83502ms; SamplesPerSecond = 1197
Epoch[ 1 of 2]-Minibatch[ 131- 140 of 320]: * 2560; ce = 1.54127502; err = 0.45273438; TotalTime = 2.20730s; TotalTimePerSample = 0.86222ms; SamplesPerSecond = 1159
Epoch[ 1 of 2]-Minibatch[ 141- 150 of 320]: * 2560; ce = 1.43566284; err = 0.41406250; TotalTime = 2.14483s; TotalTimePerSample = 0.83782ms; SamplesPerSecond = 1193
Epoch[ 1 of 2]-Minibatch[ 151- 160 of 320]: * 2560; ce = 1.41996460; err = 0.40976563; TotalTime = 2.27204s; TotalTimePerSample = 0.88751ms; SamplesPerSecond = 1126
Epoch[ 1 of 2]-Minibatch[ 161- 170 of 320]: * 2560; ce = 1.38546448; err = 0.40976563; TotalTime = 2.37860s; TotalTimePerSample = 0.92914ms; SamplesPerSecond = 1076
Epoch[ 1 of 2]-Minibatch[ 171- 180 of 320]: * 2560; ce = 1.40654907; err = 0.42109375; TotalTime = 2.21343s; TotalTimePerSample = 0.86462ms; SamplesPerSecond = 1156
Epoch[ 1 of 2]-Minibatch[ 181- 190 of 320]: * 2560; ce = 1.41048584; err = 0.41445312; TotalTime = 2.20519s; TotalTimePerSample = 0.86140ms; SamplesPerSecond = 1160
Epoch[ 1 of 2]-Minibatch[ 191- 200 of 320]: * 2560; ce = 1.43002319; err = 0.42500000; TotalTime = 2.10237s; TotalTimePerSample = 0.82124ms; SamplesPerSecond = 1217
Epoch[ 1 of 2]-Minibatch[ 201- 210 of 320]: * 2560; ce = 1.41000977; err = 0.42382812; TotalTime = 2.31127s; TotalTimePerSample = 0.90284ms; SamplesPerSecond = 1107
Epoch[ 1 of 2]-Minibatch[ 211- 220 of 320]: * 2560; ce = 1.33088989; err = 0.40468750; TotalTime = 2.30367s; TotalTimePerSample = 0.89987ms; SamplesPerSecond = 1111
Epoch[ 1 of 2]-Minibatch[ 221- 230 of 320]: * 2560; ce = 1.28450928; err = 0.38515625; TotalTime = 2.22202s; TotalTimePerSample = 0.86798ms; SamplesPerSecond = 1152
Epoch[ 1 of 2]-Minibatch[ 231- 240 of 320]: * 2560; ce = 1.34680481; err = 0.40664062; TotalTime = 2.28282s; TotalTimePerSample = 0.89173ms; SamplesPerSecond = 1121
Epoch[ 1 of 2]-Minibatch[ 241- 250 of 320]: * 2560; ce = 1.32020569; err = 0.39140625; TotalTime = 2.06229s; TotalTimePerSample = 0.80558ms; SamplesPerSecond = 1241
Epoch[ 1 of 2]-Minibatch[ 251- 260 of 320]: * 2560; ce = 1.22445068; err = 0.37031250; TotalTime = 2.10306s; TotalTimePerSample = 0.82151ms; SamplesPerSecond = 1217
Epoch[ 1 of 2]-Minibatch[ 261- 270 of 320]: * 2560; ce = 1.23881226; err = 0.37109375; TotalTime = 2.26618s; TotalTimePerSample = 0.88523ms; SamplesPerSecond = 1129
Epoch[ 1 of 2]-Minibatch[ 271- 280 of 320]: * 2560; ce = 1.30255432; err = 0.38984375; TotalTime = 2.17350s; TotalTimePerSample = 0.84902ms; SamplesPerSecond = 1177
Epoch[ 1 of 2]-Minibatch[ 281- 290 of 320]: * 2560; ce = 1.22100830; err = 0.36992188; TotalTime = 1.77139s; TotalTimePerSample = 0.69195ms; SamplesPerSecond = 1445
Epoch[ 1 of 2]-Minibatch[ 291- 300 of 320]: * 2560; ce = 1.21442871; err = 0.36445312; TotalTime = 2.28764s; TotalTimePerSample = 0.89361ms; SamplesPerSecond = 1119
Epoch[ 1 of 2]-Minibatch[ 301- 310 of 320]: * 2560; ce = 1.23150024; err = 0.37578125; TotalTime = 2.29486s; TotalTimePerSample = 0.89643ms; SamplesPerSecond = 1115
Epoch[ 1 of 2]-Minibatch[ 311- 320 of 320]: * 2560; ce = 1.25499268; err = 0.37656250; TotalTime = 2.14378s; TotalTimePerSample = 0.83741ms; SamplesPerSecond = 1194
Finished Epoch[ 1 of 2]: [Training] ce = 1.6395972; err = 0.46284181; learningRatePerSample = 0.003125000047; EpochTime=69.649363
Starting Epoch 2: learning rate per sample = 0.003125 effective momentum = 0.900000
minibatchiterator: epoch 1: frames [81920..163840] (first utterance at frame 81920), data subset 0 of 1, with 1 datapasses
Starting minibatch loop.
Epoch[ 2 of 2]-Minibatch[ 1- 10 of 320]: * 2560; CrossEntropyWithSoftmax = 1.24432030; EvalErrorPrediction = 0.38437500; TotalTime = 2.17401s; TotalTimePerSample = 0.84922ms; SamplesPerSecond = 1177
Epoch[ 2 of 2]-Minibatch[ 11- 20 of 320]: * 2560; CrossEntropyWithSoftmax = 1.21878033; EvalErrorPrediction = 0.37500000; TotalTime = 2.22384s; TotalTimePerSample = 0.86869ms; SamplesPerSecond = 1151
Epoch[ 2 of 2]-Minibatch[ 21- 30 of 320]: * 2560; CrossEntropyWithSoftmax = 1.28410358; EvalErrorPrediction = 0.37812500; TotalTime = 2.19445s; TotalTimePerSample = 0.85721ms; SamplesPerSecond = 1166
Epoch[ 2 of 2]-Minibatch[ 31- 40 of 320]: * 2560; CrossEntropyWithSoftmax = 1.22131767; EvalErrorPrediction = 0.37382813; TotalTime = 2.02087s; TotalTimePerSample = 0.78940ms; SamplesPerSecond = 1266
Epoch[ 2 of 2]-Minibatch[ 41- 50 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17638283; EvalErrorPrediction = 0.35273437; TotalTime = 1.98391s; TotalTimePerSample = 0.77497ms; SamplesPerSecond = 1290
Epoch[ 2 of 2]-Minibatch[ 51- 60 of 320]: * 2560; CrossEntropyWithSoftmax = 1.28770714; EvalErrorPrediction = 0.39218750; TotalTime = 2.10243s; TotalTimePerSample = 0.82126ms; SamplesPerSecond = 1217
Epoch[ 2 of 2]-Minibatch[ 61- 70 of 320]: * 2560; CrossEntropyWithSoftmax = 1.22729797; EvalErrorPrediction = 0.37421875; TotalTime = 2.10615s; TotalTimePerSample = 0.82271ms; SamplesPerSecond = 1215
Epoch[ 2 of 2]-Minibatch[ 71- 80 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17497940; EvalErrorPrediction = 0.36953125; TotalTime = 2.13498s; TotalTimePerSample = 0.83398ms; SamplesPerSecond = 1199
Epoch[ 2 of 2]-Minibatch[ 81- 90 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23583298; EvalErrorPrediction = 0.35742188; TotalTime = 2.17273s; TotalTimePerSample = 0.84872ms; SamplesPerSecond = 1178
Epoch[ 2 of 2]-Minibatch[ 91- 100 of 320]: * 2560; CrossEntropyWithSoftmax = 1.16937485; EvalErrorPrediction = 0.37187500; TotalTime = 1.96073s; TotalTimePerSample = 0.76591ms; SamplesPerSecond = 1305
Epoch[ 2 of 2]-Minibatch[ 101- 110 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18656921; EvalErrorPrediction = 0.34765625; TotalTime = 2.07057s; TotalTimePerSample = 0.80882ms; SamplesPerSecond = 1236
Epoch[ 2 of 2]-Minibatch[ 111- 120 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18989105; EvalErrorPrediction = 0.35781250; TotalTime = 1.97441s; TotalTimePerSample = 0.77125ms; SamplesPerSecond = 1296
Epoch[ 2 of 2]-Minibatch[ 121- 130 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17073975; EvalErrorPrediction = 0.36445312; TotalTime = 2.17177s; TotalTimePerSample = 0.84835ms; SamplesPerSecond = 1178
Epoch[ 2 of 2]-Minibatch[ 131- 140 of 320]: * 2560; CrossEntropyWithSoftmax = 1.13176422; EvalErrorPrediction = 0.34375000; TotalTime = 2.20069s; TotalTimePerSample = 0.85964ms; SamplesPerSecond = 1163
Epoch[ 2 of 2]-Minibatch[ 141- 150 of 320]: * 2560; CrossEntropyWithSoftmax = 1.08576660; EvalErrorPrediction = 0.32421875; TotalTime = 2.25159s; TotalTimePerSample = 0.87953ms; SamplesPerSecond = 1136
Epoch[ 2 of 2]-Minibatch[ 151- 160 of 320]: * 2560; CrossEntropyWithSoftmax = 1.11148376; EvalErrorPrediction = 0.33867188; TotalTime = 2.25098s; TotalTimePerSample = 0.87929ms; SamplesPerSecond = 1137
Epoch[ 2 of 2]-Minibatch[ 161- 170 of 320]: * 2560; CrossEntropyWithSoftmax = 1.20480194; EvalErrorPrediction = 0.36250000; TotalTime = 2.09545s; TotalTimePerSample = 0.81854ms; SamplesPerSecond = 1221
Epoch[ 2 of 2]-Minibatch[ 171- 180 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17241821; EvalErrorPrediction = 0.35820313; TotalTime = 2.07758s; TotalTimePerSample = 0.81155ms; SamplesPerSecond = 1232
Epoch[ 2 of 2]-Minibatch[ 181- 190 of 320]: * 2560; CrossEntropyWithSoftmax = 1.13457642; EvalErrorPrediction = 0.35429688; TotalTime = 2.10773s; TotalTimePerSample = 0.82333ms; SamplesPerSecond = 1214
Epoch[ 2 of 2]-Minibatch[ 191- 200 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12700500; EvalErrorPrediction = 0.35234375; TotalTime = 2.33236s; TotalTimePerSample = 0.91108ms; SamplesPerSecond = 1097
Epoch[ 2 of 2]-Minibatch[ 201- 210 of 320]: * 2560; CrossEntropyWithSoftmax = 1.11282043; EvalErrorPrediction = 0.33515625; TotalTime = 2.11595s; TotalTimePerSample = 0.82654ms; SamplesPerSecond = 1209
Epoch[ 2 of 2]-Minibatch[ 211- 220 of 320]: * 2560; CrossEntropyWithSoftmax = 1.13374786; EvalErrorPrediction = 0.34296875; TotalTime = 2.14508s; TotalTimePerSample = 0.83792ms; SamplesPerSecond = 1193
Epoch[ 2 of 2]-Minibatch[ 221- 230 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14316711; EvalErrorPrediction = 0.35312500; TotalTime = 2.15834s; TotalTimePerSample = 0.84310ms; SamplesPerSecond = 1186
Epoch[ 2 of 2]-Minibatch[ 231- 240 of 320]: * 2560; CrossEntropyWithSoftmax = 1.27329712; EvalErrorPrediction = 0.38554688; TotalTime = 2.26755s; TotalTimePerSample = 0.88576ms; SamplesPerSecond = 1128
Epoch[ 2 of 2]-Minibatch[ 241- 250 of 320]: * 2560; CrossEntropyWithSoftmax = 1.15661011; EvalErrorPrediction = 0.34726563; TotalTime = 2.30714s; TotalTimePerSample = 0.90123ms; SamplesPerSecond = 1109
Epoch[ 2 of 2]-Minibatch[ 251- 260 of 320]: * 2560; CrossEntropyWithSoftmax = 1.13043823; EvalErrorPrediction = 0.34101562; TotalTime = 2.06456s; TotalTimePerSample = 0.80647ms; SamplesPerSecond = 1239
Epoch[ 2 of 2]-Minibatch[ 261- 270 of 320]: * 2560; CrossEntropyWithSoftmax = 1.13791809; EvalErrorPrediction = 0.34960938; TotalTime = 2.19548s; TotalTimePerSample = 0.85761ms; SamplesPerSecond = 1166
Epoch[ 2 of 2]-Minibatch[ 271- 280 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14694214; EvalErrorPrediction = 0.34101562; TotalTime = 2.33209s; TotalTimePerSample = 0.91097ms; SamplesPerSecond = 1097
Epoch[ 2 of 2]-Minibatch[ 281- 290 of 320]: * 2560; CrossEntropyWithSoftmax = 1.06658325; EvalErrorPrediction = 0.33476563; TotalTime = 2.20537s; TotalTimePerSample = 0.86147ms; SamplesPerSecond = 1160
Epoch[ 2 of 2]-Minibatch[ 291- 300 of 320]: * 2560; CrossEntropyWithSoftmax = 1.10054626; EvalErrorPrediction = 0.33750000; TotalTime = 2.02138s; TotalTimePerSample = 0.78960ms; SamplesPerSecond = 1266
Epoch[ 2 of 2]-Minibatch[ 301- 310 of 320]: * 2560; CrossEntropyWithSoftmax = 1.09098816; EvalErrorPrediction = 0.34375000; TotalTime = 2.19745s; TotalTimePerSample = 0.85838ms; SamplesPerSecond = 1164
Epoch[ 2 of 2]-Minibatch[ 311- 320 of 320]: * 2560; CrossEntropyWithSoftmax = 1.05595398; EvalErrorPrediction = 0.33671875; TotalTime = 2.11208s; TotalTimePerSample = 0.82503ms; SamplesPerSecond = 1212
Finished Epoch[ 2 of 2]: [Training] CrossEntropyWithSoftmax = 1.165754; EvalErrorPrediction = 0.35567626; learningRatePerSample = 0.003125000047; EpochTime=68.751932
Epoch[ 2 of 2]-Minibatch[ 1- 10 of 320]: * 2560; ce = 1.24432030; err = 0.38437500; TotalTime = 2.17401s; TotalTimePerSample = 0.84922ms; SamplesPerSecond = 1177
Epoch[ 2 of 2]-Minibatch[ 11- 20 of 320]: * 2560; ce = 1.21878033; err = 0.37500000; TotalTime = 2.22384s; TotalTimePerSample = 0.86869ms; SamplesPerSecond = 1151
Epoch[ 2 of 2]-Minibatch[ 21- 30 of 320]: * 2560; ce = 1.28410358; err = 0.37812500; TotalTime = 2.19445s; TotalTimePerSample = 0.85721ms; SamplesPerSecond = 1166
Epoch[ 2 of 2]-Minibatch[ 31- 40 of 320]: * 2560; ce = 1.22131767; err = 0.37382813; TotalTime = 2.02087s; TotalTimePerSample = 0.78940ms; SamplesPerSecond = 1266
Epoch[ 2 of 2]-Minibatch[ 41- 50 of 320]: * 2560; ce = 1.17638283; err = 0.35273437; TotalTime = 1.98391s; TotalTimePerSample = 0.77497ms; SamplesPerSecond = 1290
Epoch[ 2 of 2]-Minibatch[ 51- 60 of 320]: * 2560; ce = 1.28770714; err = 0.39218750; TotalTime = 2.10243s; TotalTimePerSample = 0.82126ms; SamplesPerSecond = 1217
Epoch[ 2 of 2]-Minibatch[ 61- 70 of 320]: * 2560; ce = 1.22729797; err = 0.37421875; TotalTime = 2.10615s; TotalTimePerSample = 0.82271ms; SamplesPerSecond = 1215
Epoch[ 2 of 2]-Minibatch[ 71- 80 of 320]: * 2560; ce = 1.17497940; err = 0.36953125; TotalTime = 2.13498s; TotalTimePerSample = 0.83398ms; SamplesPerSecond = 1199
Epoch[ 2 of 2]-Minibatch[ 81- 90 of 320]: * 2560; ce = 1.23583298; err = 0.35742188; TotalTime = 2.17273s; TotalTimePerSample = 0.84872ms; SamplesPerSecond = 1178
Epoch[ 2 of 2]-Minibatch[ 91- 100 of 320]: * 2560; ce = 1.16937485; err = 0.37187500; TotalTime = 1.96073s; TotalTimePerSample = 0.76591ms; SamplesPerSecond = 1305
Epoch[ 2 of 2]-Minibatch[ 101- 110 of 320]: * 2560; ce = 1.18656921; err = 0.34765625; TotalTime = 2.07057s; TotalTimePerSample = 0.80882ms; SamplesPerSecond = 1236
Epoch[ 2 of 2]-Minibatch[ 111- 120 of 320]: * 2560; ce = 1.18989105; err = 0.35781250; TotalTime = 1.97441s; TotalTimePerSample = 0.77125ms; SamplesPerSecond = 1296
Epoch[ 2 of 2]-Minibatch[ 121- 130 of 320]: * 2560; ce = 1.17073975; err = 0.36445312; TotalTime = 2.17177s; TotalTimePerSample = 0.84835ms; SamplesPerSecond = 1178
Epoch[ 2 of 2]-Minibatch[ 131- 140 of 320]: * 2560; ce = 1.13176422; err = 0.34375000; TotalTime = 2.20069s; TotalTimePerSample = 0.85964ms; SamplesPerSecond = 1163
Epoch[ 2 of 2]-Minibatch[ 141- 150 of 320]: * 2560; ce = 1.08576660; err = 0.32421875; TotalTime = 2.25159s; TotalTimePerSample = 0.87953ms; SamplesPerSecond = 1136
Epoch[ 2 of 2]-Minibatch[ 151- 160 of 320]: * 2560; ce = 1.11148376; err = 0.33867188; TotalTime = 2.25098s; TotalTimePerSample = 0.87929ms; SamplesPerSecond = 1137
Epoch[ 2 of 2]-Minibatch[ 161- 170 of 320]: * 2560; ce = 1.20480194; err = 0.36250000; TotalTime = 2.09545s; TotalTimePerSample = 0.81854ms; SamplesPerSecond = 1221
Epoch[ 2 of 2]-Minibatch[ 171- 180 of 320]: * 2560; ce = 1.17241821; err = 0.35820313; TotalTime = 2.07758s; TotalTimePerSample = 0.81155ms; SamplesPerSecond = 1232
Epoch[ 2 of 2]-Minibatch[ 181- 190 of 320]: * 2560; ce = 1.13457642; err = 0.35429688; TotalTime = 2.10773s; TotalTimePerSample = 0.82333ms; SamplesPerSecond = 1214
Epoch[ 2 of 2]-Minibatch[ 191- 200 of 320]: * 2560; ce = 1.12700500; err = 0.35234375; TotalTime = 2.33236s; TotalTimePerSample = 0.91108ms; SamplesPerSecond = 1097
Epoch[ 2 of 2]-Minibatch[ 201- 210 of 320]: * 2560; ce = 1.11282043; err = 0.33515625; TotalTime = 2.11595s; TotalTimePerSample = 0.82654ms; SamplesPerSecond = 1209
Epoch[ 2 of 2]-Minibatch[ 211- 220 of 320]: * 2560; ce = 1.13374786; err = 0.34296875; TotalTime = 2.14508s; TotalTimePerSample = 0.83792ms; SamplesPerSecond = 1193
Epoch[ 2 of 2]-Minibatch[ 221- 230 of 320]: * 2560; ce = 1.14316711; err = 0.35312500; TotalTime = 2.15834s; TotalTimePerSample = 0.84310ms; SamplesPerSecond = 1186
Epoch[ 2 of 2]-Minibatch[ 231- 240 of 320]: * 2560; ce = 1.27329712; err = 0.38554688; TotalTime = 2.26755s; TotalTimePerSample = 0.88576ms; SamplesPerSecond = 1128
Epoch[ 2 of 2]-Minibatch[ 241- 250 of 320]: * 2560; ce = 1.15661011; err = 0.34726563; TotalTime = 2.30714s; TotalTimePerSample = 0.90123ms; SamplesPerSecond = 1109
Epoch[ 2 of 2]-Minibatch[ 251- 260 of 320]: * 2560; ce = 1.13043823; err = 0.34101562; TotalTime = 2.06456s; TotalTimePerSample = 0.80647ms; SamplesPerSecond = 1239
Epoch[ 2 of 2]-Minibatch[ 261- 270 of 320]: * 2560; ce = 1.13791809; err = 0.34960938; TotalTime = 2.19548s; TotalTimePerSample = 0.85761ms; SamplesPerSecond = 1166
Epoch[ 2 of 2]-Minibatch[ 271- 280 of 320]: * 2560; ce = 1.14694214; err = 0.34101562; TotalTime = 2.33209s; TotalTimePerSample = 0.91097ms; SamplesPerSecond = 1097
Epoch[ 2 of 2]-Minibatch[ 281- 290 of 320]: * 2560; ce = 1.06658325; err = 0.33476563; TotalTime = 2.20537s; TotalTimePerSample = 0.86147ms; SamplesPerSecond = 1160
Epoch[ 2 of 2]-Minibatch[ 291- 300 of 320]: * 2560; ce = 1.10054626; err = 0.33750000; TotalTime = 2.02138s; TotalTimePerSample = 0.78960ms; SamplesPerSecond = 1266
Epoch[ 2 of 2]-Minibatch[ 301- 310 of 320]: * 2560; ce = 1.09098816; err = 0.34375000; TotalTime = 2.19745s; TotalTimePerSample = 0.85838ms; SamplesPerSecond = 1164
Epoch[ 2 of 2]-Minibatch[ 311- 320 of 320]: * 2560; ce = 1.05595398; err = 0.33671875; TotalTime = 2.11208s; TotalTimePerSample = 0.82503ms; SamplesPerSecond = 1212
Finished Epoch[ 2 of 2]: [Training] ce = 1.165754; err = 0.35567626; learningRatePerSample = 0.003125000047; EpochTime=68.751932
CNTKCommandTrainEnd: DPT_Pre1
@ -1784,76 +1784,76 @@ minibatchiterator: epoch 0: frames [0..81920] (first utterance at frame 0), data
requiredata: determined feature kind as 33-dimensional 'USER' with frame shift 10.0 ms
Starting minibatch loop.
Epoch[ 1 of 2]-Minibatch[ 1- 10 of 320]: * 2560; CrossEntropyWithSoftmax = 4.12742958; EvalErrorPrediction = 0.80507812; TotalTime = 3.39015s; TotalTimePerSample = 1.32428ms; SamplesPerSecond = 755
Epoch[ 1 of 2]-Minibatch[ 11- 20 of 320]: * 2560; CrossEntropyWithSoftmax = 2.76509590; EvalErrorPrediction = 0.69960937; TotalTime = 3.25866s; TotalTimePerSample = 1.27292ms; SamplesPerSecond = 785
Epoch[ 1 of 2]-Minibatch[ 21- 30 of 320]: * 2560; CrossEntropyWithSoftmax = 2.20613861; EvalErrorPrediction = 0.57812500; TotalTime = 3.30868s; TotalTimePerSample = 1.29245ms; SamplesPerSecond = 773
Epoch[ 1 of 2]-Minibatch[ 31- 40 of 320]: * 2560; CrossEntropyWithSoftmax = 1.90078354; EvalErrorPrediction = 0.50898438; TotalTime = 3.24681s; TotalTimePerSample = 1.26828ms; SamplesPerSecond = 788
Epoch[ 1 of 2]-Minibatch[ 41- 50 of 320]: * 2560; CrossEntropyWithSoftmax = 1.71711044; EvalErrorPrediction = 0.48710938; TotalTime = 3.34396s; TotalTimePerSample = 1.30623ms; SamplesPerSecond = 765
Epoch[ 1 of 2]-Minibatch[ 51- 60 of 320]: * 2560; CrossEntropyWithSoftmax = 1.58837662; EvalErrorPrediction = 0.44726562; TotalTime = 3.54100s; TotalTimePerSample = 1.38320ms; SamplesPerSecond = 722
Epoch[ 1 of 2]-Minibatch[ 61- 70 of 320]: * 2560; CrossEntropyWithSoftmax = 1.54870148; EvalErrorPrediction = 0.44296875; TotalTime = 3.27957s; TotalTimePerSample = 1.28108ms; SamplesPerSecond = 780
Epoch[ 1 of 2]-Minibatch[ 71- 80 of 320]: * 2560; CrossEntropyWithSoftmax = 1.46472015; EvalErrorPrediction = 0.42773438; TotalTime = 3.39303s; TotalTimePerSample = 1.32540ms; SamplesPerSecond = 754
Epoch[ 1 of 2]-Minibatch[ 81- 90 of 320]: * 2560; CrossEntropyWithSoftmax = 1.38026276; EvalErrorPrediction = 0.40273437; TotalTime = 3.33514s; TotalTimePerSample = 1.30279ms; SamplesPerSecond = 767
Epoch[ 1 of 2]-Minibatch[ 91- 100 of 320]: * 2560; CrossEntropyWithSoftmax = 1.39969788; EvalErrorPrediction = 0.42148438; TotalTime = 3.28349s; TotalTimePerSample = 1.28262ms; SamplesPerSecond = 779
Epoch[ 1 of 2]-Minibatch[ 101- 110 of 320]: * 2560; CrossEntropyWithSoftmax = 1.37001648; EvalErrorPrediction = 0.41796875; TotalTime = 3.17869s; TotalTimePerSample = 1.24168ms; SamplesPerSecond = 805
Epoch[ 1 of 2]-Minibatch[ 111- 120 of 320]: * 2560; CrossEntropyWithSoftmax = 1.35947266; EvalErrorPrediction = 0.40820312; TotalTime = 3.54772s; TotalTimePerSample = 1.38583ms; SamplesPerSecond = 721
Epoch[ 1 of 2]-Minibatch[ 121- 130 of 320]: * 2560; CrossEntropyWithSoftmax = 1.32850189; EvalErrorPrediction = 0.40468750; TotalTime = 3.44065s; TotalTimePerSample = 1.34401ms; SamplesPerSecond = 744
Epoch[ 1 of 2]-Minibatch[ 131- 140 of 320]: * 2560; CrossEntropyWithSoftmax = 1.39116974; EvalErrorPrediction = 0.40703125; TotalTime = 3.30371s; TotalTimePerSample = 1.29051ms; SamplesPerSecond = 774
Epoch[ 1 of 2]-Minibatch[ 141- 150 of 320]: * 2560; CrossEntropyWithSoftmax = 1.31802521; EvalErrorPrediction = 0.38437500; TotalTime = 3.36631s; TotalTimePerSample = 1.31496ms; SamplesPerSecond = 760
Epoch[ 1 of 2]-Minibatch[ 151- 160 of 320]: * 2560; CrossEntropyWithSoftmax = 1.32752075; EvalErrorPrediction = 0.40117188; TotalTime = 3.14228s; TotalTimePerSample = 1.22745ms; SamplesPerSecond = 814
Epoch[ 1 of 2]-Minibatch[ 161- 170 of 320]: * 2560; CrossEntropyWithSoftmax = 1.27012329; EvalErrorPrediction = 0.37929687; TotalTime = 3.23155s; TotalTimePerSample = 1.26233ms; SamplesPerSecond = 792
Epoch[ 1 of 2]-Minibatch[ 171- 180 of 320]: * 2560; CrossEntropyWithSoftmax = 1.29055176; EvalErrorPrediction = 0.38359375; TotalTime = 3.35835s; TotalTimePerSample = 1.31186ms; SamplesPerSecond = 762
Epoch[ 1 of 2]-Minibatch[ 181- 190 of 320]: * 2560; CrossEntropyWithSoftmax = 1.29355164; EvalErrorPrediction = 0.38593750; TotalTime = 3.42075s; TotalTimePerSample = 1.33623ms; SamplesPerSecond = 748
Epoch[ 1 of 2]-Minibatch[ 191- 200 of 320]: * 2560; CrossEntropyWithSoftmax = 1.27504883; EvalErrorPrediction = 0.38906250; TotalTime = 3.37690s; TotalTimePerSample = 1.31910ms; SamplesPerSecond = 758
Epoch[ 1 of 2]-Minibatch[ 201- 210 of 320]: * 2560; CrossEntropyWithSoftmax = 1.27267761; EvalErrorPrediction = 0.39101562; TotalTime = 3.12080s; TotalTimePerSample = 1.21906ms; SamplesPerSecond = 820
Epoch[ 1 of 2]-Minibatch[ 211- 220 of 320]: * 2560; CrossEntropyWithSoftmax = 1.21395569; EvalErrorPrediction = 0.36679688; TotalTime = 3.14198s; TotalTimePerSample = 1.22734ms; SamplesPerSecond = 814
Epoch[ 1 of 2]-Minibatch[ 221- 230 of 320]: * 2560; CrossEntropyWithSoftmax = 1.20708313; EvalErrorPrediction = 0.36445312; TotalTime = 3.50516s; TotalTimePerSample = 1.36920ms; SamplesPerSecond = 730
Epoch[ 1 of 2]-Minibatch[ 231- 240 of 320]: * 2560; CrossEntropyWithSoftmax = 1.25370178; EvalErrorPrediction = 0.38320312; TotalTime = 3.14201s; TotalTimePerSample = 1.22735ms; SamplesPerSecond = 814
Epoch[ 1 of 2]-Minibatch[ 241- 250 of 320]: * 2560; CrossEntropyWithSoftmax = 1.22307739; EvalErrorPrediction = 0.37500000; TotalTime = 3.13153s; TotalTimePerSample = 1.22325ms; SamplesPerSecond = 817
Epoch[ 1 of 2]-Minibatch[ 251- 260 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14909363; EvalErrorPrediction = 0.35234375; TotalTime = 3.41643s; TotalTimePerSample = 1.33454ms; SamplesPerSecond = 749
Epoch[ 1 of 2]-Minibatch[ 261- 270 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17035828; EvalErrorPrediction = 0.35937500; TotalTime = 3.22442s; TotalTimePerSample = 1.25954ms; SamplesPerSecond = 793
Epoch[ 1 of 2]-Minibatch[ 271- 280 of 320]: * 2560; CrossEntropyWithSoftmax = 1.22515869; EvalErrorPrediction = 0.36875000; TotalTime = 3.47776s; TotalTimePerSample = 1.35850ms; SamplesPerSecond = 736
Epoch[ 1 of 2]-Minibatch[ 281- 290 of 320]: * 2560; CrossEntropyWithSoftmax = 1.16166687; EvalErrorPrediction = 0.35664062; TotalTime = 2.99925s; TotalTimePerSample = 1.17158ms; SamplesPerSecond = 853
Epoch[ 1 of 2]-Minibatch[ 291- 300 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18268433; EvalErrorPrediction = 0.35820313; TotalTime = 3.23501s; TotalTimePerSample = 1.26368ms; SamplesPerSecond = 791
Epoch[ 1 of 2]-Minibatch[ 301- 310 of 320]: * 2560; CrossEntropyWithSoftmax = 1.16473083; EvalErrorPrediction = 0.35195312; TotalTime = 3.21572s; TotalTimePerSample = 1.25614ms; SamplesPerSecond = 796
Epoch[ 1 of 2]-Minibatch[ 311- 320 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17591248; EvalErrorPrediction = 0.35195312; TotalTime = 3.07276s; TotalTimePerSample = 1.20030ms; SamplesPerSecond = 833
Finished Epoch[ 1 of 2]: [Training] CrossEntropyWithSoftmax = 1.491325; EvalErrorPrediction = 0.42381594; learningRatePerSample = 0.003125000047; EpochTime=106.67356
Epoch[ 1 of 2]-Minibatch[ 1- 10 of 320]: * 2560; ce = 4.12742958; err = 0.80507812; TotalTime = 3.39015s; TotalTimePerSample = 1.32428ms; SamplesPerSecond = 755
Epoch[ 1 of 2]-Minibatch[ 11- 20 of 320]: * 2560; ce = 2.76509590; err = 0.69960937; TotalTime = 3.25866s; TotalTimePerSample = 1.27292ms; SamplesPerSecond = 785
Epoch[ 1 of 2]-Minibatch[ 21- 30 of 320]: * 2560; ce = 2.20613861; err = 0.57812500; TotalTime = 3.30868s; TotalTimePerSample = 1.29245ms; SamplesPerSecond = 773
Epoch[ 1 of 2]-Minibatch[ 31- 40 of 320]: * 2560; ce = 1.90078354; err = 0.50898438; TotalTime = 3.24681s; TotalTimePerSample = 1.26828ms; SamplesPerSecond = 788
Epoch[ 1 of 2]-Minibatch[ 41- 50 of 320]: * 2560; ce = 1.71711044; err = 0.48710938; TotalTime = 3.34396s; TotalTimePerSample = 1.30623ms; SamplesPerSecond = 765
Epoch[ 1 of 2]-Minibatch[ 51- 60 of 320]: * 2560; ce = 1.58837662; err = 0.44726562; TotalTime = 3.54100s; TotalTimePerSample = 1.38320ms; SamplesPerSecond = 722
Epoch[ 1 of 2]-Minibatch[ 61- 70 of 320]: * 2560; ce = 1.54870148; err = 0.44296875; TotalTime = 3.27957s; TotalTimePerSample = 1.28108ms; SamplesPerSecond = 780
Epoch[ 1 of 2]-Minibatch[ 71- 80 of 320]: * 2560; ce = 1.46472015; err = 0.42773438; TotalTime = 3.39303s; TotalTimePerSample = 1.32540ms; SamplesPerSecond = 754
Epoch[ 1 of 2]-Minibatch[ 81- 90 of 320]: * 2560; ce = 1.38026276; err = 0.40273437; TotalTime = 3.33514s; TotalTimePerSample = 1.30279ms; SamplesPerSecond = 767
Epoch[ 1 of 2]-Minibatch[ 91- 100 of 320]: * 2560; ce = 1.39969788; err = 0.42148438; TotalTime = 3.28349s; TotalTimePerSample = 1.28262ms; SamplesPerSecond = 779
Epoch[ 1 of 2]-Minibatch[ 101- 110 of 320]: * 2560; ce = 1.37001648; err = 0.41796875; TotalTime = 3.17869s; TotalTimePerSample = 1.24168ms; SamplesPerSecond = 805
Epoch[ 1 of 2]-Minibatch[ 111- 120 of 320]: * 2560; ce = 1.35947266; err = 0.40820312; TotalTime = 3.54772s; TotalTimePerSample = 1.38583ms; SamplesPerSecond = 721
Epoch[ 1 of 2]-Minibatch[ 121- 130 of 320]: * 2560; ce = 1.32850189; err = 0.40468750; TotalTime = 3.44065s; TotalTimePerSample = 1.34401ms; SamplesPerSecond = 744
Epoch[ 1 of 2]-Minibatch[ 131- 140 of 320]: * 2560; ce = 1.39116974; err = 0.40703125; TotalTime = 3.30371s; TotalTimePerSample = 1.29051ms; SamplesPerSecond = 774
Epoch[ 1 of 2]-Minibatch[ 141- 150 of 320]: * 2560; ce = 1.31802521; err = 0.38437500; TotalTime = 3.36631s; TotalTimePerSample = 1.31496ms; SamplesPerSecond = 760
Epoch[ 1 of 2]-Minibatch[ 151- 160 of 320]: * 2560; ce = 1.32752075; err = 0.40117188; TotalTime = 3.14228s; TotalTimePerSample = 1.22745ms; SamplesPerSecond = 814
Epoch[ 1 of 2]-Minibatch[ 161- 170 of 320]: * 2560; ce = 1.27012329; err = 0.37929687; TotalTime = 3.23155s; TotalTimePerSample = 1.26233ms; SamplesPerSecond = 792
Epoch[ 1 of 2]-Minibatch[ 171- 180 of 320]: * 2560; ce = 1.29055176; err = 0.38359375; TotalTime = 3.35835s; TotalTimePerSample = 1.31186ms; SamplesPerSecond = 762
Epoch[ 1 of 2]-Minibatch[ 181- 190 of 320]: * 2560; ce = 1.29355164; err = 0.38593750; TotalTime = 3.42075s; TotalTimePerSample = 1.33623ms; SamplesPerSecond = 748
Epoch[ 1 of 2]-Minibatch[ 191- 200 of 320]: * 2560; ce = 1.27504883; err = 0.38906250; TotalTime = 3.37690s; TotalTimePerSample = 1.31910ms; SamplesPerSecond = 758
Epoch[ 1 of 2]-Minibatch[ 201- 210 of 320]: * 2560; ce = 1.27267761; err = 0.39101562; TotalTime = 3.12080s; TotalTimePerSample = 1.21906ms; SamplesPerSecond = 820
Epoch[ 1 of 2]-Minibatch[ 211- 220 of 320]: * 2560; ce = 1.21395569; err = 0.36679688; TotalTime = 3.14198s; TotalTimePerSample = 1.22734ms; SamplesPerSecond = 814
Epoch[ 1 of 2]-Minibatch[ 221- 230 of 320]: * 2560; ce = 1.20708313; err = 0.36445312; TotalTime = 3.50516s; TotalTimePerSample = 1.36920ms; SamplesPerSecond = 730
Epoch[ 1 of 2]-Minibatch[ 231- 240 of 320]: * 2560; ce = 1.25370178; err = 0.38320312; TotalTime = 3.14201s; TotalTimePerSample = 1.22735ms; SamplesPerSecond = 814
Epoch[ 1 of 2]-Minibatch[ 241- 250 of 320]: * 2560; ce = 1.22307739; err = 0.37500000; TotalTime = 3.13153s; TotalTimePerSample = 1.22325ms; SamplesPerSecond = 817
Epoch[ 1 of 2]-Minibatch[ 251- 260 of 320]: * 2560; ce = 1.14909363; err = 0.35234375; TotalTime = 3.41643s; TotalTimePerSample = 1.33454ms; SamplesPerSecond = 749
Epoch[ 1 of 2]-Minibatch[ 261- 270 of 320]: * 2560; ce = 1.17035828; err = 0.35937500; TotalTime = 3.22442s; TotalTimePerSample = 1.25954ms; SamplesPerSecond = 793
Epoch[ 1 of 2]-Minibatch[ 271- 280 of 320]: * 2560; ce = 1.22515869; err = 0.36875000; TotalTime = 3.47776s; TotalTimePerSample = 1.35850ms; SamplesPerSecond = 736
Epoch[ 1 of 2]-Minibatch[ 281- 290 of 320]: * 2560; ce = 1.16166687; err = 0.35664062; TotalTime = 2.99925s; TotalTimePerSample = 1.17158ms; SamplesPerSecond = 853
Epoch[ 1 of 2]-Minibatch[ 291- 300 of 320]: * 2560; ce = 1.18268433; err = 0.35820313; TotalTime = 3.23501s; TotalTimePerSample = 1.26368ms; SamplesPerSecond = 791
Epoch[ 1 of 2]-Minibatch[ 301- 310 of 320]: * 2560; ce = 1.16473083; err = 0.35195312; TotalTime = 3.21572s; TotalTimePerSample = 1.25614ms; SamplesPerSecond = 796
Epoch[ 1 of 2]-Minibatch[ 311- 320 of 320]: * 2560; ce = 1.17591248; err = 0.35195312; TotalTime = 3.07276s; TotalTimePerSample = 1.20030ms; SamplesPerSecond = 833
Finished Epoch[ 1 of 2]: [Training] ce = 1.491325; err = 0.42381594; learningRatePerSample = 0.003125000047; EpochTime=106.67356
Starting Epoch 2: learning rate per sample = 0.003125 effective momentum = 0.900000
minibatchiterator: epoch 1: frames [81920..163840] (first utterance at frame 81920), data subset 0 of 1, with 1 datapasses
Starting minibatch loop.
Epoch[ 2 of 2]-Minibatch[ 1- 10 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14145651; EvalErrorPrediction = 0.35078125; TotalTime = 3.20015s; TotalTimePerSample = 1.25006ms; SamplesPerSecond = 799
Epoch[ 2 of 2]-Minibatch[ 11- 20 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17236452; EvalErrorPrediction = 0.35703125; TotalTime = 3.58645s; TotalTimePerSample = 1.40096ms; SamplesPerSecond = 713
Epoch[ 2 of 2]-Minibatch[ 21- 30 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23701782; EvalErrorPrediction = 0.37890625; TotalTime = 3.13229s; TotalTimePerSample = 1.22355ms; SamplesPerSecond = 817
Epoch[ 2 of 2]-Minibatch[ 31- 40 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18644638; EvalErrorPrediction = 0.36132812; TotalTime = 3.23432s; TotalTimePerSample = 1.26341ms; SamplesPerSecond = 791
Epoch[ 2 of 2]-Minibatch[ 41- 50 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12840500; EvalErrorPrediction = 0.34140625; TotalTime = 3.31180s; TotalTimePerSample = 1.29367ms; SamplesPerSecond = 772
Epoch[ 2 of 2]-Minibatch[ 51- 60 of 320]: * 2560; CrossEntropyWithSoftmax = 1.21571541; EvalErrorPrediction = 0.37031250; TotalTime = 3.27370s; TotalTimePerSample = 1.27879ms; SamplesPerSecond = 781
Epoch[ 2 of 2]-Minibatch[ 61- 70 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14553375; EvalErrorPrediction = 0.34257813; TotalTime = 3.35806s; TotalTimePerSample = 1.31174ms; SamplesPerSecond = 762
Epoch[ 2 of 2]-Minibatch[ 71- 80 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12870712; EvalErrorPrediction = 0.34453125; TotalTime = 3.07358s; TotalTimePerSample = 1.20062ms; SamplesPerSecond = 832
Epoch[ 2 of 2]-Minibatch[ 81- 90 of 320]: * 2560; CrossEntropyWithSoftmax = 1.15200119; EvalErrorPrediction = 0.34179688; TotalTime = 3.26694s; TotalTimePerSample = 1.27615ms; SamplesPerSecond = 783
Epoch[ 2 of 2]-Minibatch[ 91- 100 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12955780; EvalErrorPrediction = 0.35312500; TotalTime = 3.26072s; TotalTimePerSample = 1.27372ms; SamplesPerSecond = 785
Epoch[ 2 of 2]-Minibatch[ 101- 110 of 320]: * 2560; CrossEntropyWithSoftmax = 1.15128708; EvalErrorPrediction = 0.34414062; TotalTime = 3.13385s; TotalTimePerSample = 1.22416ms; SamplesPerSecond = 816
Epoch[ 2 of 2]-Minibatch[ 111- 120 of 320]: * 2560; CrossEntropyWithSoftmax = 1.13170090; EvalErrorPrediction = 0.34414062; TotalTime = 3.24222s; TotalTimePerSample = 1.26649ms; SamplesPerSecond = 789
Epoch[ 2 of 2]-Minibatch[ 121- 130 of 320]: * 2560; CrossEntropyWithSoftmax = 1.10571136; EvalErrorPrediction = 0.34296875; TotalTime = 3.26617s; TotalTimePerSample = 1.27585ms; SamplesPerSecond = 783
Epoch[ 2 of 2]-Minibatch[ 131- 140 of 320]: * 2560; CrossEntropyWithSoftmax = 1.06392975; EvalErrorPrediction = 0.32695313; TotalTime = 2.93591s; TotalTimePerSample = 1.14684ms; SamplesPerSecond = 871
Epoch[ 2 of 2]-Minibatch[ 141- 150 of 320]: * 2560; CrossEntropyWithSoftmax = 1.05555420; EvalErrorPrediction = 0.31835938; TotalTime = 3.06553s; TotalTimePerSample = 1.19747ms; SamplesPerSecond = 835
Epoch[ 2 of 2]-Minibatch[ 151- 160 of 320]: * 2560; CrossEntropyWithSoftmax = 1.06729126; EvalErrorPrediction = 0.32460937; TotalTime = 3.01623s; TotalTimePerSample = 1.17822ms; SamplesPerSecond = 848
Epoch[ 2 of 2]-Minibatch[ 161- 170 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14530792; EvalErrorPrediction = 0.34687500; TotalTime = 3.26534s; TotalTimePerSample = 1.27552ms; SamplesPerSecond = 783
Epoch[ 2 of 2]-Minibatch[ 171- 180 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14569397; EvalErrorPrediction = 0.35625000; TotalTime = 3.23646s; TotalTimePerSample = 1.26424ms; SamplesPerSecond = 790
Epoch[ 2 of 2]-Minibatch[ 181- 190 of 320]: * 2560; CrossEntropyWithSoftmax = 1.07375793; EvalErrorPrediction = 0.32929687; TotalTime = 3.50725s; TotalTimePerSample = 1.37002ms; SamplesPerSecond = 729
Epoch[ 2 of 2]-Minibatch[ 191- 200 of 320]: * 2560; CrossEntropyWithSoftmax = 1.07886505; EvalErrorPrediction = 0.33671875; TotalTime = 3.40044s; TotalTimePerSample = 1.32829ms; SamplesPerSecond = 752
Epoch[ 2 of 2]-Minibatch[ 201- 210 of 320]: * 2560; CrossEntropyWithSoftmax = 1.06901398; EvalErrorPrediction = 0.33164063; TotalTime = 3.25460s; TotalTimePerSample = 1.27133ms; SamplesPerSecond = 786
Epoch[ 2 of 2]-Minibatch[ 211- 220 of 320]: * 2560; CrossEntropyWithSoftmax = 1.09929962; EvalErrorPrediction = 0.33437500; TotalTime = 3.16798s; TotalTimePerSample = 1.23749ms; SamplesPerSecond = 808
Epoch[ 2 of 2]-Minibatch[ 221- 230 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12124939; EvalErrorPrediction = 0.34531250; TotalTime = 3.56923s; TotalTimePerSample = 1.39423ms; SamplesPerSecond = 717
Epoch[ 2 of 2]-Minibatch[ 231- 240 of 320]: * 2560; CrossEntropyWithSoftmax = 1.13580627; EvalErrorPrediction = 0.35937500; TotalTime = 3.10338s; TotalTimePerSample = 1.21226ms; SamplesPerSecond = 824
Epoch[ 2 of 2]-Minibatch[ 241- 250 of 320]: * 2560; CrossEntropyWithSoftmax = 1.09370117; EvalErrorPrediction = 0.33515625; TotalTime = 3.33700s; TotalTimePerSample = 1.30352ms; SamplesPerSecond = 767
Epoch[ 2 of 2]-Minibatch[ 251- 260 of 320]: * 2560; CrossEntropyWithSoftmax = 1.07206116; EvalErrorPrediction = 0.33359375; TotalTime = 3.24466s; TotalTimePerSample = 1.26745ms; SamplesPerSecond = 788
Epoch[ 2 of 2]-Minibatch[ 261- 270 of 320]: * 2560; CrossEntropyWithSoftmax = 1.06741028; EvalErrorPrediction = 0.33359375; TotalTime = 3.38665s; TotalTimePerSample = 1.32291ms; SamplesPerSecond = 755
Epoch[ 2 of 2]-Minibatch[ 271- 280 of 320]: * 2560; CrossEntropyWithSoftmax = 1.10143433; EvalErrorPrediction = 0.32734375; TotalTime = 3.31745s; TotalTimePerSample = 1.29588ms; SamplesPerSecond = 771
Epoch[ 2 of 2]-Minibatch[ 281- 290 of 320]: * 2560; CrossEntropyWithSoftmax = 1.02370911; EvalErrorPrediction = 0.31757812; TotalTime = 3.08865s; TotalTimePerSample = 1.20650ms; SamplesPerSecond = 828
Epoch[ 2 of 2]-Minibatch[ 291- 300 of 320]: * 2560; CrossEntropyWithSoftmax = 1.08736572; EvalErrorPrediction = 0.33984375; TotalTime = 3.50527s; TotalTimePerSample = 1.36924ms; SamplesPerSecond = 730
Epoch[ 2 of 2]-Minibatch[ 301- 310 of 320]: * 2560; CrossEntropyWithSoftmax = 1.06789551; EvalErrorPrediction = 0.32890625; TotalTime = 3.27224s; TotalTimePerSample = 1.27822ms; SamplesPerSecond = 782
Epoch[ 2 of 2]-Minibatch[ 311- 320 of 320]: * 2560; CrossEntropyWithSoftmax = 1.05290527; EvalErrorPrediction = 0.33398438; TotalTime = 3.47792s; TotalTimePerSample = 1.35856ms; SamplesPerSecond = 736
Finished Epoch[ 2 of 2]: [Training] CrossEntropyWithSoftmax = 1.114005; EvalErrorPrediction = 0.3416504; learningRatePerSample = 0.003125000047; EpochTime=104.51539
Epoch[ 2 of 2]-Minibatch[ 1- 10 of 320]: * 2560; ce = 1.14145651; err = 0.35078125; TotalTime = 3.20015s; TotalTimePerSample = 1.25006ms; SamplesPerSecond = 799
Epoch[ 2 of 2]-Minibatch[ 11- 20 of 320]: * 2560; ce = 1.17236452; err = 0.35703125; TotalTime = 3.58645s; TotalTimePerSample = 1.40096ms; SamplesPerSecond = 713
Epoch[ 2 of 2]-Minibatch[ 21- 30 of 320]: * 2560; ce = 1.23701782; err = 0.37890625; TotalTime = 3.13229s; TotalTimePerSample = 1.22355ms; SamplesPerSecond = 817
Epoch[ 2 of 2]-Minibatch[ 31- 40 of 320]: * 2560; ce = 1.18644638; err = 0.36132812; TotalTime = 3.23432s; TotalTimePerSample = 1.26341ms; SamplesPerSecond = 791
Epoch[ 2 of 2]-Minibatch[ 41- 50 of 320]: * 2560; ce = 1.12840500; err = 0.34140625; TotalTime = 3.31180s; TotalTimePerSample = 1.29367ms; SamplesPerSecond = 772
Epoch[ 2 of 2]-Minibatch[ 51- 60 of 320]: * 2560; ce = 1.21571541; err = 0.37031250; TotalTime = 3.27370s; TotalTimePerSample = 1.27879ms; SamplesPerSecond = 781
Epoch[ 2 of 2]-Minibatch[ 61- 70 of 320]: * 2560; ce = 1.14553375; err = 0.34257813; TotalTime = 3.35806s; TotalTimePerSample = 1.31174ms; SamplesPerSecond = 762
Epoch[ 2 of 2]-Minibatch[ 71- 80 of 320]: * 2560; ce = 1.12870712; err = 0.34453125; TotalTime = 3.07358s; TotalTimePerSample = 1.20062ms; SamplesPerSecond = 832
Epoch[ 2 of 2]-Minibatch[ 81- 90 of 320]: * 2560; ce = 1.15200119; err = 0.34179688; TotalTime = 3.26694s; TotalTimePerSample = 1.27615ms; SamplesPerSecond = 783
Epoch[ 2 of 2]-Minibatch[ 91- 100 of 320]: * 2560; ce = 1.12955780; err = 0.35312500; TotalTime = 3.26072s; TotalTimePerSample = 1.27372ms; SamplesPerSecond = 785
Epoch[ 2 of 2]-Minibatch[ 101- 110 of 320]: * 2560; ce = 1.15128708; err = 0.34414062; TotalTime = 3.13385s; TotalTimePerSample = 1.22416ms; SamplesPerSecond = 816
Epoch[ 2 of 2]-Minibatch[ 111- 120 of 320]: * 2560; ce = 1.13170090; err = 0.34414062; TotalTime = 3.24222s; TotalTimePerSample = 1.26649ms; SamplesPerSecond = 789
Epoch[ 2 of 2]-Minibatch[ 121- 130 of 320]: * 2560; ce = 1.10571136; err = 0.34296875; TotalTime = 3.26617s; TotalTimePerSample = 1.27585ms; SamplesPerSecond = 783
Epoch[ 2 of 2]-Minibatch[ 131- 140 of 320]: * 2560; ce = 1.06392975; err = 0.32695313; TotalTime = 2.93591s; TotalTimePerSample = 1.14684ms; SamplesPerSecond = 871
Epoch[ 2 of 2]-Minibatch[ 141- 150 of 320]: * 2560; ce = 1.05555420; err = 0.31835938; TotalTime = 3.06553s; TotalTimePerSample = 1.19747ms; SamplesPerSecond = 835
Epoch[ 2 of 2]-Minibatch[ 151- 160 of 320]: * 2560; ce = 1.06729126; err = 0.32460937; TotalTime = 3.01623s; TotalTimePerSample = 1.17822ms; SamplesPerSecond = 848
Epoch[ 2 of 2]-Minibatch[ 161- 170 of 320]: * 2560; ce = 1.14530792; err = 0.34687500; TotalTime = 3.26534s; TotalTimePerSample = 1.27552ms; SamplesPerSecond = 783
Epoch[ 2 of 2]-Minibatch[ 171- 180 of 320]: * 2560; ce = 1.14569397; err = 0.35625000; TotalTime = 3.23646s; TotalTimePerSample = 1.26424ms; SamplesPerSecond = 790
Epoch[ 2 of 2]-Minibatch[ 181- 190 of 320]: * 2560; ce = 1.07375793; err = 0.32929687; TotalTime = 3.50725s; TotalTimePerSample = 1.37002ms; SamplesPerSecond = 729
Epoch[ 2 of 2]-Minibatch[ 191- 200 of 320]: * 2560; ce = 1.07886505; err = 0.33671875; TotalTime = 3.40044s; TotalTimePerSample = 1.32829ms; SamplesPerSecond = 752
Epoch[ 2 of 2]-Minibatch[ 201- 210 of 320]: * 2560; ce = 1.06901398; err = 0.33164063; TotalTime = 3.25460s; TotalTimePerSample = 1.27133ms; SamplesPerSecond = 786
Epoch[ 2 of 2]-Minibatch[ 211- 220 of 320]: * 2560; ce = 1.09929962; err = 0.33437500; TotalTime = 3.16798s; TotalTimePerSample = 1.23749ms; SamplesPerSecond = 808
Epoch[ 2 of 2]-Minibatch[ 221- 230 of 320]: * 2560; ce = 1.12124939; err = 0.34531250; TotalTime = 3.56923s; TotalTimePerSample = 1.39423ms; SamplesPerSecond = 717
Epoch[ 2 of 2]-Minibatch[ 231- 240 of 320]: * 2560; ce = 1.13580627; err = 0.35937500; TotalTime = 3.10338s; TotalTimePerSample = 1.21226ms; SamplesPerSecond = 824
Epoch[ 2 of 2]-Minibatch[ 241- 250 of 320]: * 2560; ce = 1.09370117; err = 0.33515625; TotalTime = 3.33700s; TotalTimePerSample = 1.30352ms; SamplesPerSecond = 767
Epoch[ 2 of 2]-Minibatch[ 251- 260 of 320]: * 2560; ce = 1.07206116; err = 0.33359375; TotalTime = 3.24466s; TotalTimePerSample = 1.26745ms; SamplesPerSecond = 788
Epoch[ 2 of 2]-Minibatch[ 261- 270 of 320]: * 2560; ce = 1.06741028; err = 0.33359375; TotalTime = 3.38665s; TotalTimePerSample = 1.32291ms; SamplesPerSecond = 755
Epoch[ 2 of 2]-Minibatch[ 271- 280 of 320]: * 2560; ce = 1.10143433; err = 0.32734375; TotalTime = 3.31745s; TotalTimePerSample = 1.29588ms; SamplesPerSecond = 771
Epoch[ 2 of 2]-Minibatch[ 281- 290 of 320]: * 2560; ce = 1.02370911; err = 0.31757812; TotalTime = 3.08865s; TotalTimePerSample = 1.20650ms; SamplesPerSecond = 828
Epoch[ 2 of 2]-Minibatch[ 291- 300 of 320]: * 2560; ce = 1.08736572; err = 0.33984375; TotalTime = 3.50527s; TotalTimePerSample = 1.36924ms; SamplesPerSecond = 730
Epoch[ 2 of 2]-Minibatch[ 301- 310 of 320]: * 2560; ce = 1.06789551; err = 0.32890625; TotalTime = 3.27224s; TotalTimePerSample = 1.27822ms; SamplesPerSecond = 782
Epoch[ 2 of 2]-Minibatch[ 311- 320 of 320]: * 2560; ce = 1.05290527; err = 0.33398438; TotalTime = 3.47792s; TotalTimePerSample = 1.35856ms; SamplesPerSecond = 736
Finished Epoch[ 2 of 2]: [Training] ce = 1.114005; err = 0.3416504; learningRatePerSample = 0.003125000047; EpochTime=104.51539
CNTKCommandTrainEnd: DPT_Pre2
@ -3168,101 +3168,101 @@ minibatchiterator: epoch 0: frames [0..81920] (first utterance at frame 0), data
requiredata: determined feature kind as 33-dimensional 'USER' with frame shift 10.0 ms
Starting minibatch loop.
Epoch[ 1 of 4]-Minibatch[ 1- 10 of 320]: * 2560; CrossEntropyWithSoftmax = 4.01592903; EvalErrorPrediction = 0.82421875; TotalTime = 3.95135s; TotalTimePerSample = 1.54350ms; SamplesPerSecond = 647
Epoch[ 1 of 4]-Minibatch[ 11- 20 of 320]: * 2560; CrossEntropyWithSoftmax = 2.63751793; EvalErrorPrediction = 0.63789063; TotalTime = 1.56999s; TotalTimePerSample = 0.61328ms; SamplesPerSecond = 1630
Epoch[ 1 of 4]-Minibatch[ 21- 30 of 320]: * 2560; CrossEntropyWithSoftmax = 2.03013535; EvalErrorPrediction = 0.54843750; TotalTime = 1.09485s; TotalTimePerSample = 0.42768ms; SamplesPerSecond = 2338
Epoch[ 1 of 4]-Minibatch[ 31- 40 of 320]: * 2560; CrossEntropyWithSoftmax = 1.74010468; EvalErrorPrediction = 0.47148438; TotalTime = 1.14739s; TotalTimePerSample = 0.44820ms; SamplesPerSecond = 2231
Epoch[ 1 of 4]-Minibatch[ 41- 50 of 320]: * 2560; CrossEntropyWithSoftmax = 1.56799011; EvalErrorPrediction = 0.44335938; TotalTime = 1.09577s; TotalTimePerSample = 0.42803ms; SamplesPerSecond = 2336
Epoch[ 1 of 4]-Minibatch[ 51- 60 of 320]: * 2560; CrossEntropyWithSoftmax = 1.46781845; EvalErrorPrediction = 0.41328125; TotalTime = 1.09510s; TotalTimePerSample = 0.42777ms; SamplesPerSecond = 2337
Epoch[ 1 of 4]-Minibatch[ 61- 70 of 320]: * 2560; CrossEntropyWithSoftmax = 1.43012238; EvalErrorPrediction = 0.40585938; TotalTime = 1.09635s; TotalTimePerSample = 0.42826ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 71- 80 of 320]: * 2560; CrossEntropyWithSoftmax = 1.35918579; EvalErrorPrediction = 0.40039062; TotalTime = 1.09548s; TotalTimePerSample = 0.42792ms; SamplesPerSecond = 2336
Epoch[ 1 of 4]-Minibatch[ 81- 90 of 320]: * 2560; CrossEntropyWithSoftmax = 1.28387451; EvalErrorPrediction = 0.37812500; TotalTime = 1.09595s; TotalTimePerSample = 0.42811ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 91- 100 of 320]: * 2560; CrossEntropyWithSoftmax = 1.29969482; EvalErrorPrediction = 0.39726563; TotalTime = 1.09572s; TotalTimePerSample = 0.42802ms; SamplesPerSecond = 2336
Epoch[ 1 of 4]-Minibatch[ 101- 110 of 320]: * 2560; CrossEntropyWithSoftmax = 1.27851257; EvalErrorPrediction = 0.38945313; TotalTime = 1.09571s; TotalTimePerSample = 0.42801ms; SamplesPerSecond = 2336
Epoch[ 1 of 4]-Minibatch[ 111- 120 of 320]: * 2560; CrossEntropyWithSoftmax = 1.27491150; EvalErrorPrediction = 0.38476562; TotalTime = 1.12142s; TotalTimePerSample = 0.43806ms; SamplesPerSecond = 2282
Epoch[ 1 of 4]-Minibatch[ 121- 130 of 320]: * 2560; CrossEntropyWithSoftmax = 1.24143066; EvalErrorPrediction = 0.38164063; TotalTime = 1.09592s; TotalTimePerSample = 0.42809ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 131- 140 of 320]: * 2560; CrossEntropyWithSoftmax = 1.31309967; EvalErrorPrediction = 0.38867188; TotalTime = 1.09608s; TotalTimePerSample = 0.42816ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 141- 150 of 320]: * 2560; CrossEntropyWithSoftmax = 1.24519043; EvalErrorPrediction = 0.36054687; TotalTime = 1.09577s; TotalTimePerSample = 0.42804ms; SamplesPerSecond = 2336
Epoch[ 1 of 4]-Minibatch[ 151- 160 of 320]: * 2560; CrossEntropyWithSoftmax = 1.26173248; EvalErrorPrediction = 0.38554688; TotalTime = 1.13408s; TotalTimePerSample = 0.44300ms; SamplesPerSecond = 2257
Epoch[ 1 of 4]-Minibatch[ 161- 170 of 320]: * 2560; CrossEntropyWithSoftmax = 1.20199585; EvalErrorPrediction = 0.35390625; TotalTime = 1.11229s; TotalTimePerSample = 0.43449ms; SamplesPerSecond = 2301
Epoch[ 1 of 4]-Minibatch[ 171- 180 of 320]: * 2560; CrossEntropyWithSoftmax = 1.21707153; EvalErrorPrediction = 0.37031250; TotalTime = 1.09594s; TotalTimePerSample = 0.42810ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 181- 190 of 320]: * 2560; CrossEntropyWithSoftmax = 1.21532898; EvalErrorPrediction = 0.37382813; TotalTime = 1.09629s; TotalTimePerSample = 0.42824ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 191- 200 of 320]: * 2560; CrossEntropyWithSoftmax = 1.20324097; EvalErrorPrediction = 0.37187500; TotalTime = 1.10557s; TotalTimePerSample = 0.43186ms; SamplesPerSecond = 2315
Epoch[ 1 of 4]-Minibatch[ 201- 210 of 320]: * 2560; CrossEntropyWithSoftmax = 1.20709839; EvalErrorPrediction = 0.37343750; TotalTime = 1.09610s; TotalTimePerSample = 0.42816ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 211- 220 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14372253; EvalErrorPrediction = 0.33828125; TotalTime = 1.09640s; TotalTimePerSample = 0.42828ms; SamplesPerSecond = 2334
Epoch[ 1 of 4]-Minibatch[ 221- 230 of 320]: * 2560; CrossEntropyWithSoftmax = 1.15016785; EvalErrorPrediction = 0.34492187; TotalTime = 1.09523s; TotalTimePerSample = 0.42782ms; SamplesPerSecond = 2337
Epoch[ 1 of 4]-Minibatch[ 231- 240 of 320]: * 2560; CrossEntropyWithSoftmax = 1.19444275; EvalErrorPrediction = 0.35546875; TotalTime = 1.09550s; TotalTimePerSample = 0.42793ms; SamplesPerSecond = 2336
Epoch[ 1 of 4]-Minibatch[ 241- 250 of 320]: * 2560; CrossEntropyWithSoftmax = 1.16820984; EvalErrorPrediction = 0.35937500; TotalTime = 1.10647s; TotalTimePerSample = 0.43222ms; SamplesPerSecond = 2313
Epoch[ 1 of 4]-Minibatch[ 251- 260 of 320]: * 2560; CrossEntropyWithSoftmax = 1.09052429; EvalErrorPrediction = 0.34062500; TotalTime = 1.11512s; TotalTimePerSample = 0.43559ms; SamplesPerSecond = 2295
Epoch[ 1 of 4]-Minibatch[ 261- 270 of 320]: * 2560; CrossEntropyWithSoftmax = 1.11017761; EvalErrorPrediction = 0.34140625; TotalTime = 1.09791s; TotalTimePerSample = 0.42887ms; SamplesPerSecond = 2331
Epoch[ 1 of 4]-Minibatch[ 271- 280 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17647095; EvalErrorPrediction = 0.34960938; TotalTime = 1.09768s; TotalTimePerSample = 0.42878ms; SamplesPerSecond = 2332
Epoch[ 1 of 4]-Minibatch[ 281- 290 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12259827; EvalErrorPrediction = 0.34960938; TotalTime = 1.09812s; TotalTimePerSample = 0.42895ms; SamplesPerSecond = 2331
Epoch[ 1 of 4]-Minibatch[ 291- 300 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14627686; EvalErrorPrediction = 0.34882812; TotalTime = 1.09796s; TotalTimePerSample = 0.42889ms; SamplesPerSecond = 2331
Epoch[ 1 of 4]-Minibatch[ 301- 310 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12782593; EvalErrorPrediction = 0.34296875; TotalTime = 1.11678s; TotalTimePerSample = 0.43624ms; SamplesPerSecond = 2292
Epoch[ 1 of 4]-Minibatch[ 311- 320 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12669983; EvalErrorPrediction = 0.34453125; TotalTime = 1.08905s; TotalTimePerSample = 0.42541ms; SamplesPerSecond = 2350
Finished Epoch[ 1 of 4]: [Training] CrossEntropyWithSoftmax = 1.4077845; EvalErrorPrediction = 0.40218505; learningRatePerSample = 0.003125000047; EpochTime=39.654781
Epoch[ 1 of 4]-Minibatch[ 1- 10 of 320]: * 2560; ce = 4.01592903; err = 0.82421875; TotalTime = 3.95135s; TotalTimePerSample = 1.54350ms; SamplesPerSecond = 647
Epoch[ 1 of 4]-Minibatch[ 11- 20 of 320]: * 2560; ce = 2.63751793; err = 0.63789063; TotalTime = 1.56999s; TotalTimePerSample = 0.61328ms; SamplesPerSecond = 1630
Epoch[ 1 of 4]-Minibatch[ 21- 30 of 320]: * 2560; ce = 2.03013535; err = 0.54843750; TotalTime = 1.09485s; TotalTimePerSample = 0.42768ms; SamplesPerSecond = 2338
Epoch[ 1 of 4]-Minibatch[ 31- 40 of 320]: * 2560; ce = 1.74010468; err = 0.47148438; TotalTime = 1.14739s; TotalTimePerSample = 0.44820ms; SamplesPerSecond = 2231
Epoch[ 1 of 4]-Minibatch[ 41- 50 of 320]: * 2560; ce = 1.56799011; err = 0.44335938; TotalTime = 1.09577s; TotalTimePerSample = 0.42803ms; SamplesPerSecond = 2336
Epoch[ 1 of 4]-Minibatch[ 51- 60 of 320]: * 2560; ce = 1.46781845; err = 0.41328125; TotalTime = 1.09510s; TotalTimePerSample = 0.42777ms; SamplesPerSecond = 2337
Epoch[ 1 of 4]-Minibatch[ 61- 70 of 320]: * 2560; ce = 1.43012238; err = 0.40585938; TotalTime = 1.09635s; TotalTimePerSample = 0.42826ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 71- 80 of 320]: * 2560; ce = 1.35918579; err = 0.40039062; TotalTime = 1.09548s; TotalTimePerSample = 0.42792ms; SamplesPerSecond = 2336
Epoch[ 1 of 4]-Minibatch[ 81- 90 of 320]: * 2560; ce = 1.28387451; err = 0.37812500; TotalTime = 1.09595s; TotalTimePerSample = 0.42811ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 91- 100 of 320]: * 2560; ce = 1.29969482; err = 0.39726563; TotalTime = 1.09572s; TotalTimePerSample = 0.42802ms; SamplesPerSecond = 2336
Epoch[ 1 of 4]-Minibatch[ 101- 110 of 320]: * 2560; ce = 1.27851257; err = 0.38945313; TotalTime = 1.09571s; TotalTimePerSample = 0.42801ms; SamplesPerSecond = 2336
Epoch[ 1 of 4]-Minibatch[ 111- 120 of 320]: * 2560; ce = 1.27491150; err = 0.38476562; TotalTime = 1.12142s; TotalTimePerSample = 0.43806ms; SamplesPerSecond = 2282
Epoch[ 1 of 4]-Minibatch[ 121- 130 of 320]: * 2560; ce = 1.24143066; err = 0.38164063; TotalTime = 1.09592s; TotalTimePerSample = 0.42809ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 131- 140 of 320]: * 2560; ce = 1.31309967; err = 0.38867188; TotalTime = 1.09608s; TotalTimePerSample = 0.42816ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 141- 150 of 320]: * 2560; ce = 1.24519043; err = 0.36054687; TotalTime = 1.09577s; TotalTimePerSample = 0.42804ms; SamplesPerSecond = 2336
Epoch[ 1 of 4]-Minibatch[ 151- 160 of 320]: * 2560; ce = 1.26173248; err = 0.38554688; TotalTime = 1.13408s; TotalTimePerSample = 0.44300ms; SamplesPerSecond = 2257
Epoch[ 1 of 4]-Minibatch[ 161- 170 of 320]: * 2560; ce = 1.20199585; err = 0.35390625; TotalTime = 1.11229s; TotalTimePerSample = 0.43449ms; SamplesPerSecond = 2301
Epoch[ 1 of 4]-Minibatch[ 171- 180 of 320]: * 2560; ce = 1.21707153; err = 0.37031250; TotalTime = 1.09594s; TotalTimePerSample = 0.42810ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 181- 190 of 320]: * 2560; ce = 1.21532898; err = 0.37382813; TotalTime = 1.09629s; TotalTimePerSample = 0.42824ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 191- 200 of 320]: * 2560; ce = 1.20324097; err = 0.37187500; TotalTime = 1.10557s; TotalTimePerSample = 0.43186ms; SamplesPerSecond = 2315
Epoch[ 1 of 4]-Minibatch[ 201- 210 of 320]: * 2560; ce = 1.20709839; err = 0.37343750; TotalTime = 1.09610s; TotalTimePerSample = 0.42816ms; SamplesPerSecond = 2335
Epoch[ 1 of 4]-Minibatch[ 211- 220 of 320]: * 2560; ce = 1.14372253; err = 0.33828125; TotalTime = 1.09640s; TotalTimePerSample = 0.42828ms; SamplesPerSecond = 2334
Epoch[ 1 of 4]-Minibatch[ 221- 230 of 320]: * 2560; ce = 1.15016785; err = 0.34492187; TotalTime = 1.09523s; TotalTimePerSample = 0.42782ms; SamplesPerSecond = 2337
Epoch[ 1 of 4]-Minibatch[ 231- 240 of 320]: * 2560; ce = 1.19444275; err = 0.35546875; TotalTime = 1.09550s; TotalTimePerSample = 0.42793ms; SamplesPerSecond = 2336
Epoch[ 1 of 4]-Minibatch[ 241- 250 of 320]: * 2560; ce = 1.16820984; err = 0.35937500; TotalTime = 1.10647s; TotalTimePerSample = 0.43222ms; SamplesPerSecond = 2313
Epoch[ 1 of 4]-Minibatch[ 251- 260 of 320]: * 2560; ce = 1.09052429; err = 0.34062500; TotalTime = 1.11512s; TotalTimePerSample = 0.43559ms; SamplesPerSecond = 2295
Epoch[ 1 of 4]-Minibatch[ 261- 270 of 320]: * 2560; ce = 1.11017761; err = 0.34140625; TotalTime = 1.09791s; TotalTimePerSample = 0.42887ms; SamplesPerSecond = 2331
Epoch[ 1 of 4]-Minibatch[ 271- 280 of 320]: * 2560; ce = 1.17647095; err = 0.34960938; TotalTime = 1.09768s; TotalTimePerSample = 0.42878ms; SamplesPerSecond = 2332
Epoch[ 1 of 4]-Minibatch[ 281- 290 of 320]: * 2560; ce = 1.12259827; err = 0.34960938; TotalTime = 1.09812s; TotalTimePerSample = 0.42895ms; SamplesPerSecond = 2331
Epoch[ 1 of 4]-Minibatch[ 291- 300 of 320]: * 2560; ce = 1.14627686; err = 0.34882812; TotalTime = 1.09796s; TotalTimePerSample = 0.42889ms; SamplesPerSecond = 2331
Epoch[ 1 of 4]-Minibatch[ 301- 310 of 320]: * 2560; ce = 1.12782593; err = 0.34296875; TotalTime = 1.11678s; TotalTimePerSample = 0.43624ms; SamplesPerSecond = 2292
Epoch[ 1 of 4]-Minibatch[ 311- 320 of 320]: * 2560; ce = 1.12669983; err = 0.34453125; TotalTime = 1.08905s; TotalTimePerSample = 0.42541ms; SamplesPerSecond = 2350
Finished Epoch[ 1 of 4]: [Training] ce = 1.4077845; err = 0.40218505; learningRatePerSample = 0.003125000047; EpochTime=39.654781
Starting Epoch 2: learning rate per sample = 0.003125 effective momentum = 0.810210
minibatchiterator: epoch 1: frames [81920..163840] (first utterance at frame 81920), data subset 0 of 1, with 1 datapasses
Starting minibatch loop.
Epoch[ 2 of 4]-Minibatch[ 1- 10 of 160]: * 5120; CrossEntropyWithSoftmax = 1.32465096; EvalErrorPrediction = 0.39160156; TotalTime = 1.80429s; TotalTimePerSample = 0.35240ms; SamplesPerSecond = 2837
Epoch[ 2 of 4]-Minibatch[ 11- 20 of 160]: * 5120; CrossEntropyWithSoftmax = 1.26754742; EvalErrorPrediction = 0.38085938; TotalTime = 1.81056s; TotalTimePerSample = 0.35363ms; SamplesPerSecond = 2827
Epoch[ 2 of 4]-Minibatch[ 21- 30 of 160]: * 5120; CrossEntropyWithSoftmax = 1.17425861; EvalErrorPrediction = 0.35332031; TotalTime = 1.79388s; TotalTimePerSample = 0.35037ms; SamplesPerSecond = 2854
Epoch[ 2 of 4]-Minibatch[ 31- 40 of 160]: * 5120; CrossEntropyWithSoftmax = 1.12545509; EvalErrorPrediction = 0.34492187; TotalTime = 1.79352s; TotalTimePerSample = 0.35030ms; SamplesPerSecond = 2854
Epoch[ 2 of 4]-Minibatch[ 41- 50 of 160]: * 5120; CrossEntropyWithSoftmax = 1.13674049; EvalErrorPrediction = 0.34238281; TotalTime = 1.79283s; TotalTimePerSample = 0.35016ms; SamplesPerSecond = 2855
Epoch[ 2 of 4]-Minibatch[ 51- 60 of 160]: * 5120; CrossEntropyWithSoftmax = 1.13298378; EvalErrorPrediction = 0.34746094; TotalTime = 1.79214s; TotalTimePerSample = 0.35003ms; SamplesPerSecond = 2856
Epoch[ 2 of 4]-Minibatch[ 61- 70 of 160]: * 5120; CrossEntropyWithSoftmax = 1.07790451; EvalErrorPrediction = 0.33378906; TotalTime = 1.79264s; TotalTimePerSample = 0.35013ms; SamplesPerSecond = 2856
Epoch[ 2 of 4]-Minibatch[ 71- 80 of 160]: * 5120; CrossEntropyWithSoftmax = 1.04510498; EvalErrorPrediction = 0.31738281; TotalTime = 1.84448s; TotalTimePerSample = 0.36025ms; SamplesPerSecond = 2775
Epoch[ 2 of 4]-Minibatch[ 81- 90 of 160]: * 5120; CrossEntropyWithSoftmax = 1.15464554; EvalErrorPrediction = 0.35839844; TotalTime = 1.79575s; TotalTimePerSample = 0.35073ms; SamplesPerSecond = 2851
Epoch[ 2 of 4]-Minibatch[ 91- 100 of 160]: * 5120; CrossEntropyWithSoftmax = 1.25793457; EvalErrorPrediction = 0.37714844; TotalTime = 1.79629s; TotalTimePerSample = 0.35084ms; SamplesPerSecond = 2850
Epoch[ 2 of 4]-Minibatch[ 101- 110 of 160]: * 5120; CrossEntropyWithSoftmax = 1.20009308; EvalErrorPrediction = 0.37695312; TotalTime = 1.79532s; TotalTimePerSample = 0.35065ms; SamplesPerSecond = 2851
Epoch[ 2 of 4]-Minibatch[ 111- 120 of 160]: * 5120; CrossEntropyWithSoftmax = 1.11907349; EvalErrorPrediction = 0.34453125; TotalTime = 1.79536s; TotalTimePerSample = 0.35066ms; SamplesPerSecond = 2851
Epoch[ 2 of 4]-Minibatch[ 121- 130 of 160]: * 5120; CrossEntropyWithSoftmax = 1.10299835; EvalErrorPrediction = 0.34179688; TotalTime = 1.79584s; TotalTimePerSample = 0.35075ms; SamplesPerSecond = 2851
Epoch[ 2 of 4]-Minibatch[ 131- 140 of 160]: * 5120; CrossEntropyWithSoftmax = 1.10662994; EvalErrorPrediction = 0.33437500; TotalTime = 1.79551s; TotalTimePerSample = 0.35069ms; SamplesPerSecond = 2851
Epoch[ 2 of 4]-Minibatch[ 141- 150 of 160]: * 5120; CrossEntropyWithSoftmax = 1.05814362; EvalErrorPrediction = 0.33378906; TotalTime = 1.79585s; TotalTimePerSample = 0.35075ms; SamplesPerSecond = 2851
Epoch[ 2 of 4]-Minibatch[ 151- 160 of 160]: * 5120; CrossEntropyWithSoftmax = 1.05615540; EvalErrorPrediction = 0.32558594; TotalTime = 1.78428s; TotalTimePerSample = 0.34849ms; SamplesPerSecond = 2869
Finished Epoch[ 2 of 4]: [Training] CrossEntropyWithSoftmax = 1.14627; EvalErrorPrediction = 0.35026857; learningRatePerSample = 0.003125000047; EpochTime=28.798577
Epoch[ 2 of 4]-Minibatch[ 1- 10 of 160]: * 5120; ce = 1.32465096; err = 0.39160156; TotalTime = 1.80429s; TotalTimePerSample = 0.35240ms; SamplesPerSecond = 2837
Epoch[ 2 of 4]-Minibatch[ 11- 20 of 160]: * 5120; ce = 1.26754742; err = 0.38085938; TotalTime = 1.81056s; TotalTimePerSample = 0.35363ms; SamplesPerSecond = 2827
Epoch[ 2 of 4]-Minibatch[ 21- 30 of 160]: * 5120; ce = 1.17425861; err = 0.35332031; TotalTime = 1.79388s; TotalTimePerSample = 0.35037ms; SamplesPerSecond = 2854
Epoch[ 2 of 4]-Minibatch[ 31- 40 of 160]: * 5120; ce = 1.12545509; err = 0.34492187; TotalTime = 1.79352s; TotalTimePerSample = 0.35030ms; SamplesPerSecond = 2854
Epoch[ 2 of 4]-Minibatch[ 41- 50 of 160]: * 5120; ce = 1.13674049; err = 0.34238281; TotalTime = 1.79283s; TotalTimePerSample = 0.35016ms; SamplesPerSecond = 2855
Epoch[ 2 of 4]-Minibatch[ 51- 60 of 160]: * 5120; ce = 1.13298378; err = 0.34746094; TotalTime = 1.79214s; TotalTimePerSample = 0.35003ms; SamplesPerSecond = 2856
Epoch[ 2 of 4]-Minibatch[ 61- 70 of 160]: * 5120; ce = 1.07790451; err = 0.33378906; TotalTime = 1.79264s; TotalTimePerSample = 0.35013ms; SamplesPerSecond = 2856
Epoch[ 2 of 4]-Minibatch[ 71- 80 of 160]: * 5120; ce = 1.04510498; err = 0.31738281; TotalTime = 1.84448s; TotalTimePerSample = 0.36025ms; SamplesPerSecond = 2775
Epoch[ 2 of 4]-Minibatch[ 81- 90 of 160]: * 5120; ce = 1.15464554; err = 0.35839844; TotalTime = 1.79575s; TotalTimePerSample = 0.35073ms; SamplesPerSecond = 2851
Epoch[ 2 of 4]-Minibatch[ 91- 100 of 160]: * 5120; ce = 1.25793457; err = 0.37714844; TotalTime = 1.79629s; TotalTimePerSample = 0.35084ms; SamplesPerSecond = 2850
Epoch[ 2 of 4]-Minibatch[ 101- 110 of 160]: * 5120; ce = 1.20009308; err = 0.37695312; TotalTime = 1.79532s; TotalTimePerSample = 0.35065ms; SamplesPerSecond = 2851
Epoch[ 2 of 4]-Minibatch[ 111- 120 of 160]: * 5120; ce = 1.11907349; err = 0.34453125; TotalTime = 1.79536s; TotalTimePerSample = 0.35066ms; SamplesPerSecond = 2851
Epoch[ 2 of 4]-Minibatch[ 121- 130 of 160]: * 5120; ce = 1.10299835; err = 0.34179688; TotalTime = 1.79584s; TotalTimePerSample = 0.35075ms; SamplesPerSecond = 2851
Epoch[ 2 of 4]-Minibatch[ 131- 140 of 160]: * 5120; ce = 1.10662994; err = 0.33437500; TotalTime = 1.79551s; TotalTimePerSample = 0.35069ms; SamplesPerSecond = 2851
Epoch[ 2 of 4]-Minibatch[ 141- 150 of 160]: * 5120; ce = 1.05814362; err = 0.33378906; TotalTime = 1.79585s; TotalTimePerSample = 0.35075ms; SamplesPerSecond = 2851
Epoch[ 2 of 4]-Minibatch[ 151- 160 of 160]: * 5120; ce = 1.05615540; err = 0.32558594; TotalTime = 1.78428s; TotalTimePerSample = 0.34849ms; SamplesPerSecond = 2869
Finished Epoch[ 2 of 4]: [Training] ce = 1.14627; err = 0.35026857; learningRatePerSample = 0.003125000047; EpochTime=28.798577
Starting Epoch 3: learning rate per sample = 0.003125 effective momentum = 0.810210
minibatchiterator: epoch 2: frames [163840..245760] (first utterance at frame 163840), data subset 0 of 1, with 1 datapasses
Starting minibatch loop.
Epoch[ 3 of 4]-Minibatch[ 1- 10 of 160]: * 5120; CrossEntropyWithSoftmax = 1.11535473; EvalErrorPrediction = 0.34570312; TotalTime = 1.79470s; TotalTimePerSample = 0.35053ms; SamplesPerSecond = 2852
Epoch[ 3 of 4]-Minibatch[ 11- 20 of 160]: * 5120; CrossEntropyWithSoftmax = 1.10306950; EvalErrorPrediction = 0.33984375; TotalTime = 1.79571s; TotalTimePerSample = 0.35072ms; SamplesPerSecond = 2851
Epoch[ 3 of 4]-Minibatch[ 21- 30 of 160]: * 5120; CrossEntropyWithSoftmax = 1.08655663; EvalErrorPrediction = 0.33750000; TotalTime = 1.85428s; TotalTimePerSample = 0.36216ms; SamplesPerSecond = 2761
Epoch[ 3 of 4]-Minibatch[ 31- 40 of 160]: * 5120; CrossEntropyWithSoftmax = 1.08894272; EvalErrorPrediction = 0.32910156; TotalTime = 1.79696s; TotalTimePerSample = 0.35097ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 41- 50 of 160]: * 5120; CrossEntropyWithSoftmax = 1.12028427; EvalErrorPrediction = 0.34257813; TotalTime = 1.79705s; TotalTimePerSample = 0.35099ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 51- 60 of 160]: * 5120; CrossEntropyWithSoftmax = 1.08059044; EvalErrorPrediction = 0.33847656; TotalTime = 1.79691s; TotalTimePerSample = 0.35096ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 61- 70 of 160]: * 5120; CrossEntropyWithSoftmax = 1.09700623; EvalErrorPrediction = 0.34140625; TotalTime = 1.79658s; TotalTimePerSample = 0.35090ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 71- 80 of 160]: * 5120; CrossEntropyWithSoftmax = 1.08042450; EvalErrorPrediction = 0.32988281; TotalTime = 1.79673s; TotalTimePerSample = 0.35092ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 81- 90 of 160]: * 5120; CrossEntropyWithSoftmax = 1.03139420; EvalErrorPrediction = 0.31875000; TotalTime = 1.79605s; TotalTimePerSample = 0.35079ms; SamplesPerSecond = 2850
Epoch[ 3 of 4]-Minibatch[ 91- 100 of 160]: * 5120; CrossEntropyWithSoftmax = 1.04829330; EvalErrorPrediction = 0.31484375; TotalTime = 1.79666s; TotalTimePerSample = 0.35091ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 101- 110 of 160]: * 5120; CrossEntropyWithSoftmax = 1.05102234; EvalErrorPrediction = 0.32949219; TotalTime = 1.79625s; TotalTimePerSample = 0.35083ms; SamplesPerSecond = 2850
Epoch[ 3 of 4]-Minibatch[ 111- 120 of 160]: * 5120; CrossEntropyWithSoftmax = 1.08982849; EvalErrorPrediction = 0.34023437; TotalTime = 1.79698s; TotalTimePerSample = 0.35097ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 121- 130 of 160]: * 5120; CrossEntropyWithSoftmax = 1.05953979; EvalErrorPrediction = 0.31953125; TotalTime = 1.81837s; TotalTimePerSample = 0.35515ms; SamplesPerSecond = 2815
Epoch[ 3 of 4]-Minibatch[ 131- 140 of 160]: * 5120; CrossEntropyWithSoftmax = 1.02886810; EvalErrorPrediction = 0.32363281; TotalTime = 1.80412s; TotalTimePerSample = 0.35237ms; SamplesPerSecond = 2837
Epoch[ 3 of 4]-Minibatch[ 141- 150 of 160]: * 5120; CrossEntropyWithSoftmax = 1.03884735; EvalErrorPrediction = 0.32656250; TotalTime = 1.79584s; TotalTimePerSample = 0.35075ms; SamplesPerSecond = 2851
Epoch[ 3 of 4]-Minibatch[ 151- 160 of 160]: * 5120; CrossEntropyWithSoftmax = 1.02478790; EvalErrorPrediction = 0.31718750; TotalTime = 1.78394s; TotalTimePerSample = 0.34843ms; SamplesPerSecond = 2870
Finished Epoch[ 3 of 4]: [Training] CrossEntropyWithSoftmax = 1.0715507; EvalErrorPrediction = 0.33092043; learningRatePerSample = 0.003125000047; EpochTime=28.836488
Epoch[ 3 of 4]-Minibatch[ 1- 10 of 160]: * 5120; ce = 1.11535473; err = 0.34570312; TotalTime = 1.79470s; TotalTimePerSample = 0.35053ms; SamplesPerSecond = 2852
Epoch[ 3 of 4]-Minibatch[ 11- 20 of 160]: * 5120; ce = 1.10306950; err = 0.33984375; TotalTime = 1.79571s; TotalTimePerSample = 0.35072ms; SamplesPerSecond = 2851
Epoch[ 3 of 4]-Minibatch[ 21- 30 of 160]: * 5120; ce = 1.08655663; err = 0.33750000; TotalTime = 1.85428s; TotalTimePerSample = 0.36216ms; SamplesPerSecond = 2761
Epoch[ 3 of 4]-Minibatch[ 31- 40 of 160]: * 5120; ce = 1.08894272; err = 0.32910156; TotalTime = 1.79696s; TotalTimePerSample = 0.35097ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 41- 50 of 160]: * 5120; ce = 1.12028427; err = 0.34257813; TotalTime = 1.79705s; TotalTimePerSample = 0.35099ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 51- 60 of 160]: * 5120; ce = 1.08059044; err = 0.33847656; TotalTime = 1.79691s; TotalTimePerSample = 0.35096ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 61- 70 of 160]: * 5120; ce = 1.09700623; err = 0.34140625; TotalTime = 1.79658s; TotalTimePerSample = 0.35090ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 71- 80 of 160]: * 5120; ce = 1.08042450; err = 0.32988281; TotalTime = 1.79673s; TotalTimePerSample = 0.35092ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 81- 90 of 160]: * 5120; ce = 1.03139420; err = 0.31875000; TotalTime = 1.79605s; TotalTimePerSample = 0.35079ms; SamplesPerSecond = 2850
Epoch[ 3 of 4]-Minibatch[ 91- 100 of 160]: * 5120; ce = 1.04829330; err = 0.31484375; TotalTime = 1.79666s; TotalTimePerSample = 0.35091ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 101- 110 of 160]: * 5120; ce = 1.05102234; err = 0.32949219; TotalTime = 1.79625s; TotalTimePerSample = 0.35083ms; SamplesPerSecond = 2850
Epoch[ 3 of 4]-Minibatch[ 111- 120 of 160]: * 5120; ce = 1.08982849; err = 0.34023437; TotalTime = 1.79698s; TotalTimePerSample = 0.35097ms; SamplesPerSecond = 2849
Epoch[ 3 of 4]-Minibatch[ 121- 130 of 160]: * 5120; ce = 1.05953979; err = 0.31953125; TotalTime = 1.81837s; TotalTimePerSample = 0.35515ms; SamplesPerSecond = 2815
Epoch[ 3 of 4]-Minibatch[ 131- 140 of 160]: * 5120; ce = 1.02886810; err = 0.32363281; TotalTime = 1.80412s; TotalTimePerSample = 0.35237ms; SamplesPerSecond = 2837
Epoch[ 3 of 4]-Minibatch[ 141- 150 of 160]: * 5120; ce = 1.03884735; err = 0.32656250; TotalTime = 1.79584s; TotalTimePerSample = 0.35075ms; SamplesPerSecond = 2851
Epoch[ 3 of 4]-Minibatch[ 151- 160 of 160]: * 5120; ce = 1.02478790; err = 0.31718750; TotalTime = 1.78394s; TotalTimePerSample = 0.34843ms; SamplesPerSecond = 2870
Finished Epoch[ 3 of 4]: [Training] ce = 1.0715507; err = 0.33092043; learningRatePerSample = 0.003125000047; EpochTime=28.836488
Starting Epoch 4: learning rate per sample = 0.003125 effective momentum = 0.810210
minibatchiterator: epoch 3: frames [245760..327680] (first utterance at frame 245760), data subset 0 of 1, with 1 datapasses
Starting minibatch loop.
Epoch[ 4 of 4]-Minibatch[ 1- 10 of 160]: * 5120; CrossEntropyWithSoftmax = 1.02606211; EvalErrorPrediction = 0.31562500; TotalTime = 1.79489s; TotalTimePerSample = 0.35056ms; SamplesPerSecond = 2852
Epoch[ 4 of 4]-Minibatch[ 11- 20 of 160]: * 4926; CrossEntropyWithSoftmax = 1.03991783; EvalErrorPrediction = 0.32216809; TotalTime = 1.95701s; TotalTimePerSample = 0.39728ms; SamplesPerSecond = 2517
Epoch[ 4 of 4]-Minibatch[ 21- 30 of 160]: * 5120; CrossEntropyWithSoftmax = 1.01588020; EvalErrorPrediction = 0.31601563; TotalTime = 1.79596s; TotalTimePerSample = 0.35077ms; SamplesPerSecond = 2850
Epoch[ 4 of 4]-Minibatch[ 31- 40 of 160]: * 5120; CrossEntropyWithSoftmax = 0.99285030; EvalErrorPrediction = 0.30957031; TotalTime = 1.79623s; TotalTimePerSample = 0.35083ms; SamplesPerSecond = 2850
Epoch[ 4 of 4]-Minibatch[ 41- 50 of 160]: * 5120; CrossEntropyWithSoftmax = 0.99535828; EvalErrorPrediction = 0.31640625; TotalTime = 1.79578s; TotalTimePerSample = 0.35074ms; SamplesPerSecond = 2851
Epoch[ 4 of 4]-Minibatch[ 51- 60 of 160]: * 5120; CrossEntropyWithSoftmax = 1.02987175; EvalErrorPrediction = 0.32539062; TotalTime = 1.79591s; TotalTimePerSample = 0.35076ms; SamplesPerSecond = 2850
Epoch[ 4 of 4]-Minibatch[ 61- 70 of 160]: * 5120; CrossEntropyWithSoftmax = 1.03030205; EvalErrorPrediction = 0.31582031; TotalTime = 1.79514s; TotalTimePerSample = 0.35061ms; SamplesPerSecond = 2852
Epoch[ 4 of 4]-Minibatch[ 71- 80 of 160]: * 5120; CrossEntropyWithSoftmax = 0.98913116; EvalErrorPrediction = 0.31210938; TotalTime = 1.79670s; TotalTimePerSample = 0.35092ms; SamplesPerSecond = 2849
Epoch[ 4 of 4]-Minibatch[ 81- 90 of 160]: * 5120; CrossEntropyWithSoftmax = 0.98892746; EvalErrorPrediction = 0.30546875; TotalTime = 1.79605s; TotalTimePerSample = 0.35079ms; SamplesPerSecond = 2850
Epoch[ 4 of 4]-Minibatch[ 91- 100 of 160]: * 5120; CrossEntropyWithSoftmax = 1.00130386; EvalErrorPrediction = 0.30917969; TotalTime = 1.80031s; TotalTimePerSample = 0.35162ms; SamplesPerSecond = 2843
Epoch[ 4 of 4]-Minibatch[ 101- 110 of 160]: * 5120; CrossEntropyWithSoftmax = 1.02166672; EvalErrorPrediction = 0.31054688; TotalTime = 1.79190s; TotalTimePerSample = 0.34998ms; SamplesPerSecond = 2857
Epoch[ 4 of 4]-Minibatch[ 111- 120 of 160]: * 5120; CrossEntropyWithSoftmax = 1.02634430; EvalErrorPrediction = 0.32597656; TotalTime = 1.79346s; TotalTimePerSample = 0.35029ms; SamplesPerSecond = 2854
Epoch[ 4 of 4]-Minibatch[ 121- 130 of 160]: * 5120; CrossEntropyWithSoftmax = 0.97695312; EvalErrorPrediction = 0.29863281; TotalTime = 1.79173s; TotalTimePerSample = 0.34995ms; SamplesPerSecond = 2857
Epoch[ 4 of 4]-Minibatch[ 131- 140 of 160]: * 5120; CrossEntropyWithSoftmax = 0.97142334; EvalErrorPrediction = 0.30546875; TotalTime = 1.79446s; TotalTimePerSample = 0.35048ms; SamplesPerSecond = 2853
Epoch[ 4 of 4]-Minibatch[ 141- 150 of 160]: * 5120; CrossEntropyWithSoftmax = 0.98984375; EvalErrorPrediction = 0.31269531; TotalTime = 1.79283s; TotalTimePerSample = 0.35016ms; SamplesPerSecond = 2855
Epoch[ 4 of 4]-Minibatch[ 151- 160 of 160]: * 5120; CrossEntropyWithSoftmax = 0.97683563; EvalErrorPrediction = 0.30175781; TotalTime = 1.78603s; TotalTimePerSample = 0.34883ms; SamplesPerSecond = 2866
Finished Epoch[ 4 of 4]: [Training] CrossEntropyWithSoftmax = 1.0043954; EvalErrorPrediction = 0.31276855; learningRatePerSample = 0.003125000047; EpochTime=28.984064
Epoch[ 4 of 4]-Minibatch[ 1- 10 of 160]: * 5120; ce = 1.02606211; err = 0.31562500; TotalTime = 1.79489s; TotalTimePerSample = 0.35056ms; SamplesPerSecond = 2852
Epoch[ 4 of 4]-Minibatch[ 11- 20 of 160]: * 4926; ce = 1.03991783; err = 0.32216809; TotalTime = 1.95701s; TotalTimePerSample = 0.39728ms; SamplesPerSecond = 2517
Epoch[ 4 of 4]-Minibatch[ 21- 30 of 160]: * 5120; ce = 1.01588020; err = 0.31601563; TotalTime = 1.79596s; TotalTimePerSample = 0.35077ms; SamplesPerSecond = 2850
Epoch[ 4 of 4]-Minibatch[ 31- 40 of 160]: * 5120; ce = 0.99285030; err = 0.30957031; TotalTime = 1.79623s; TotalTimePerSample = 0.35083ms; SamplesPerSecond = 2850
Epoch[ 4 of 4]-Minibatch[ 41- 50 of 160]: * 5120; ce = 0.99535828; err = 0.31640625; TotalTime = 1.79578s; TotalTimePerSample = 0.35074ms; SamplesPerSecond = 2851
Epoch[ 4 of 4]-Minibatch[ 51- 60 of 160]: * 5120; ce = 1.02987175; err = 0.32539062; TotalTime = 1.79591s; TotalTimePerSample = 0.35076ms; SamplesPerSecond = 2850
Epoch[ 4 of 4]-Minibatch[ 61- 70 of 160]: * 5120; ce = 1.03030205; err = 0.31582031; TotalTime = 1.79514s; TotalTimePerSample = 0.35061ms; SamplesPerSecond = 2852
Epoch[ 4 of 4]-Minibatch[ 71- 80 of 160]: * 5120; ce = 0.98913116; err = 0.31210938; TotalTime = 1.79670s; TotalTimePerSample = 0.35092ms; SamplesPerSecond = 2849
Epoch[ 4 of 4]-Minibatch[ 81- 90 of 160]: * 5120; ce = 0.98892746; err = 0.30546875; TotalTime = 1.79605s; TotalTimePerSample = 0.35079ms; SamplesPerSecond = 2850
Epoch[ 4 of 4]-Minibatch[ 91- 100 of 160]: * 5120; ce = 1.00130386; err = 0.30917969; TotalTime = 1.80031s; TotalTimePerSample = 0.35162ms; SamplesPerSecond = 2843
Epoch[ 4 of 4]-Minibatch[ 101- 110 of 160]: * 5120; ce = 1.02166672; err = 0.31054688; TotalTime = 1.79190s; TotalTimePerSample = 0.34998ms; SamplesPerSecond = 2857
Epoch[ 4 of 4]-Minibatch[ 111- 120 of 160]: * 5120; ce = 1.02634430; err = 0.32597656; TotalTime = 1.79346s; TotalTimePerSample = 0.35029ms; SamplesPerSecond = 2854
Epoch[ 4 of 4]-Minibatch[ 121- 130 of 160]: * 5120; ce = 0.97695312; err = 0.29863281; TotalTime = 1.79173s; TotalTimePerSample = 0.34995ms; SamplesPerSecond = 2857
Epoch[ 4 of 4]-Minibatch[ 131- 140 of 160]: * 5120; ce = 0.97142334; err = 0.30546875; TotalTime = 1.79446s; TotalTimePerSample = 0.35048ms; SamplesPerSecond = 2853
Epoch[ 4 of 4]-Minibatch[ 141- 150 of 160]: * 5120; ce = 0.98984375; err = 0.31269531; TotalTime = 1.79283s; TotalTimePerSample = 0.35016ms; SamplesPerSecond = 2855
Epoch[ 4 of 4]-Minibatch[ 151- 160 of 160]: * 5120; ce = 0.97683563; err = 0.30175781; TotalTime = 1.78603s; TotalTimePerSample = 0.34883ms; SamplesPerSecond = 2866
Finished Epoch[ 4 of 4]: [Training] ce = 1.0043954; err = 0.31276855; learningRatePerSample = 0.003125000047; EpochTime=28.984064
CNTKCommandTrainEnd: speechTrain
__COMPLETED__

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -639,76 +639,76 @@ minibatchiterator: epoch 0: frames [0..81920] (first utterance at frame 0), data
requiredata: determined feature kind as 33-dimensional 'USER' with frame shift 10.0 ms
Starting minibatch loop.
Epoch[ 1 of 2]-Minibatch[ 1- 10 of 320]: * 2560; CrossEntropyWithSoftmax = 3.88299332; EvalErrorPrediction = 0.84648437; TotalTime = 1.48752s; TotalTimePerSample = 0.58106ms; SamplesPerSecond = 1720
Epoch[ 1 of 2]-Minibatch[ 11- 20 of 320]: * 2560; CrossEntropyWithSoftmax = 2.95486374; EvalErrorPrediction = 0.71289063; TotalTime = 1.04921s; TotalTimePerSample = 0.40985ms; SamplesPerSecond = 2439
Epoch[ 1 of 2]-Minibatch[ 21- 30 of 320]: * 2560; CrossEntropyWithSoftmax = 2.54855499; EvalErrorPrediction = 0.64804688; TotalTime = 1.26032s; TotalTimePerSample = 0.49231ms; SamplesPerSecond = 2031
Epoch[ 1 of 2]-Minibatch[ 31- 40 of 320]: * 2560; CrossEntropyWithSoftmax = 2.30297852; EvalErrorPrediction = 0.61679688; TotalTime = 0.80500s; TotalTimePerSample = 0.31445ms; SamplesPerSecond = 3180
Epoch[ 1 of 2]-Minibatch[ 41- 50 of 320]: * 2560; CrossEntropyWithSoftmax = 2.02965393; EvalErrorPrediction = 0.54843750; TotalTime = 0.78922s; TotalTimePerSample = 0.30829ms; SamplesPerSecond = 3243
Epoch[ 1 of 2]-Minibatch[ 51- 60 of 320]: * 2560; CrossEntropyWithSoftmax = 1.86639099; EvalErrorPrediction = 0.52187500; TotalTime = 0.80311s; TotalTimePerSample = 0.31371ms; SamplesPerSecond = 3187
Epoch[ 1 of 2]-Minibatch[ 61- 70 of 320]: * 2560; CrossEntropyWithSoftmax = 1.78586273; EvalErrorPrediction = 0.50976563; TotalTime = 0.77006s; TotalTimePerSample = 0.30081ms; SamplesPerSecond = 3324
Epoch[ 1 of 2]-Minibatch[ 71- 80 of 320]: * 2560; CrossEntropyWithSoftmax = 1.75383606; EvalErrorPrediction = 0.50507813; TotalTime = 0.79602s; TotalTimePerSample = 0.31095ms; SamplesPerSecond = 3215
Epoch[ 1 of 2]-Minibatch[ 81- 90 of 320]: * 2560; CrossEntropyWithSoftmax = 1.66867371; EvalErrorPrediction = 0.45625000; TotalTime = 0.78483s; TotalTimePerSample = 0.30658ms; SamplesPerSecond = 3261
Epoch[ 1 of 2]-Minibatch[ 91- 100 of 320]: * 2560; CrossEntropyWithSoftmax = 1.62280121; EvalErrorPrediction = 0.48710938; TotalTime = 0.80117s; TotalTimePerSample = 0.31296ms; SamplesPerSecond = 3195
Epoch[ 1 of 2]-Minibatch[ 101- 110 of 320]: * 2560; CrossEntropyWithSoftmax = 1.65261841; EvalErrorPrediction = 0.47695312; TotalTime = 0.79092s; TotalTimePerSample = 0.30895ms; SamplesPerSecond = 3236
Epoch[ 1 of 2]-Minibatch[ 111- 120 of 320]: * 2560; CrossEntropyWithSoftmax = 1.53025208; EvalErrorPrediction = 0.45976563; TotalTime = 1.09289s; TotalTimePerSample = 0.42691ms; SamplesPerSecond = 2342
Epoch[ 1 of 2]-Minibatch[ 121- 130 of 320]: * 2560; CrossEntropyWithSoftmax = 1.47788544; EvalErrorPrediction = 0.43945313; TotalTime = 0.78271s; TotalTimePerSample = 0.30575ms; SamplesPerSecond = 3270
Epoch[ 1 of 2]-Minibatch[ 131- 140 of 320]: * 2560; CrossEntropyWithSoftmax = 1.51797485; EvalErrorPrediction = 0.45195313; TotalTime = 0.79339s; TotalTimePerSample = 0.30992ms; SamplesPerSecond = 3226
Epoch[ 1 of 2]-Minibatch[ 141- 150 of 320]: * 2560; CrossEntropyWithSoftmax = 1.46555481; EvalErrorPrediction = 0.43203125; TotalTime = 0.83098s; TotalTimePerSample = 0.32460ms; SamplesPerSecond = 3080
Epoch[ 1 of 2]-Minibatch[ 151- 160 of 320]: * 2560; CrossEntropyWithSoftmax = 1.42054138; EvalErrorPrediction = 0.43320313; TotalTime = 1.14820s; TotalTimePerSample = 0.44851ms; SamplesPerSecond = 2229
Epoch[ 1 of 2]-Minibatch[ 161- 170 of 320]: * 2560; CrossEntropyWithSoftmax = 1.41380615; EvalErrorPrediction = 0.41875000; TotalTime = 0.81105s; TotalTimePerSample = 0.31682ms; SamplesPerSecond = 3156
Epoch[ 1 of 2]-Minibatch[ 171- 180 of 320]: * 2560; CrossEntropyWithSoftmax = 1.45621948; EvalErrorPrediction = 0.42695312; TotalTime = 0.78965s; TotalTimePerSample = 0.30846ms; SamplesPerSecond = 3241
Epoch[ 1 of 2]-Minibatch[ 181- 190 of 320]: * 2560; CrossEntropyWithSoftmax = 1.48666992; EvalErrorPrediction = 0.44218750; TotalTime = 0.77602s; TotalTimePerSample = 0.30313ms; SamplesPerSecond = 3298
Epoch[ 1 of 2]-Minibatch[ 191- 200 of 320]: * 2560; CrossEntropyWithSoftmax = 1.43567505; EvalErrorPrediction = 0.43710938; TotalTime = 0.77241s; TotalTimePerSample = 0.30172ms; SamplesPerSecond = 3314
Epoch[ 1 of 2]-Minibatch[ 201- 210 of 320]: * 2560; CrossEntropyWithSoftmax = 1.35690918; EvalErrorPrediction = 0.41562500; TotalTime = 0.80105s; TotalTimePerSample = 0.31291ms; SamplesPerSecond = 3195
Epoch[ 1 of 2]-Minibatch[ 211- 220 of 320]: * 2560; CrossEntropyWithSoftmax = 1.39897156; EvalErrorPrediction = 0.42539063; TotalTime = 0.78187s; TotalTimePerSample = 0.30542ms; SamplesPerSecond = 3274
Epoch[ 1 of 2]-Minibatch[ 221- 230 of 320]: * 2560; CrossEntropyWithSoftmax = 1.40048218; EvalErrorPrediction = 0.40937500; TotalTime = 0.76873s; TotalTimePerSample = 0.30029ms; SamplesPerSecond = 3330
Epoch[ 1 of 2]-Minibatch[ 231- 240 of 320]: * 2560; CrossEntropyWithSoftmax = 1.39494934; EvalErrorPrediction = 0.43046875; TotalTime = 0.77391s; TotalTimePerSample = 0.30231ms; SamplesPerSecond = 3307
Epoch[ 1 of 2]-Minibatch[ 241- 250 of 320]: * 2560; CrossEntropyWithSoftmax = 1.33256531; EvalErrorPrediction = 0.40312500; TotalTime = 0.81253s; TotalTimePerSample = 0.31740ms; SamplesPerSecond = 3150
Epoch[ 1 of 2]-Minibatch[ 251- 260 of 320]: * 2560; CrossEntropyWithSoftmax = 1.27213135; EvalErrorPrediction = 0.39687500; TotalTime = 0.82009s; TotalTimePerSample = 0.32035ms; SamplesPerSecond = 3121
Epoch[ 1 of 2]-Minibatch[ 261- 270 of 320]: * 2560; CrossEntropyWithSoftmax = 1.31734619; EvalErrorPrediction = 0.39804688; TotalTime = 1.00677s; TotalTimePerSample = 0.39327ms; SamplesPerSecond = 2542
Epoch[ 1 of 2]-Minibatch[ 271- 280 of 320]: * 2560; CrossEntropyWithSoftmax = 1.25228271; EvalErrorPrediction = 0.38437500; TotalTime = 1.24405s; TotalTimePerSample = 0.48596ms; SamplesPerSecond = 2057
Epoch[ 1 of 2]-Minibatch[ 281- 290 of 320]: * 2560; CrossEntropyWithSoftmax = 1.22771301; EvalErrorPrediction = 0.37343750; TotalTime = 0.81330s; TotalTimePerSample = 0.31770ms; SamplesPerSecond = 3147
Epoch[ 1 of 2]-Minibatch[ 291- 300 of 320]: * 2560; CrossEntropyWithSoftmax = 1.20522766; EvalErrorPrediction = 0.35976562; TotalTime = 0.80344s; TotalTimePerSample = 0.31384ms; SamplesPerSecond = 3186
Epoch[ 1 of 2]-Minibatch[ 301- 310 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23264771; EvalErrorPrediction = 0.36718750; TotalTime = 0.81546s; TotalTimePerSample = 0.31854ms; SamplesPerSecond = 3139
Epoch[ 1 of 2]-Minibatch[ 311- 320 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23756104; EvalErrorPrediction = 0.37773438; TotalTime = 0.89764s; TotalTimePerSample = 0.35064ms; SamplesPerSecond = 2851
Finished Epoch[ 1 of 2]: [Training] CrossEntropyWithSoftmax = 1.6532061; EvalErrorPrediction = 0.46914062; learningRatePerSample = 0.003125000047; EpochTime=32.141459
Epoch[ 1 of 2]-Minibatch[ 1- 10 of 320]: * 2560; ce = 3.88299332; err = 0.84648437; TotalTime = 1.48752s; TotalTimePerSample = 0.58106ms; SamplesPerSecond = 1720
Epoch[ 1 of 2]-Minibatch[ 11- 20 of 320]: * 2560; ce = 2.95486374; err = 0.71289063; TotalTime = 1.04921s; TotalTimePerSample = 0.40985ms; SamplesPerSecond = 2439
Epoch[ 1 of 2]-Minibatch[ 21- 30 of 320]: * 2560; ce = 2.54855499; err = 0.64804688; TotalTime = 1.26032s; TotalTimePerSample = 0.49231ms; SamplesPerSecond = 2031
Epoch[ 1 of 2]-Minibatch[ 31- 40 of 320]: * 2560; ce = 2.30297852; err = 0.61679688; TotalTime = 0.80500s; TotalTimePerSample = 0.31445ms; SamplesPerSecond = 3180
Epoch[ 1 of 2]-Minibatch[ 41- 50 of 320]: * 2560; ce = 2.02965393; err = 0.54843750; TotalTime = 0.78922s; TotalTimePerSample = 0.30829ms; SamplesPerSecond = 3243
Epoch[ 1 of 2]-Minibatch[ 51- 60 of 320]: * 2560; ce = 1.86639099; err = 0.52187500; TotalTime = 0.80311s; TotalTimePerSample = 0.31371ms; SamplesPerSecond = 3187
Epoch[ 1 of 2]-Minibatch[ 61- 70 of 320]: * 2560; ce = 1.78586273; err = 0.50976563; TotalTime = 0.77006s; TotalTimePerSample = 0.30081ms; SamplesPerSecond = 3324
Epoch[ 1 of 2]-Minibatch[ 71- 80 of 320]: * 2560; ce = 1.75383606; err = 0.50507813; TotalTime = 0.79602s; TotalTimePerSample = 0.31095ms; SamplesPerSecond = 3215
Epoch[ 1 of 2]-Minibatch[ 81- 90 of 320]: * 2560; ce = 1.66867371; err = 0.45625000; TotalTime = 0.78483s; TotalTimePerSample = 0.30658ms; SamplesPerSecond = 3261
Epoch[ 1 of 2]-Minibatch[ 91- 100 of 320]: * 2560; ce = 1.62280121; err = 0.48710938; TotalTime = 0.80117s; TotalTimePerSample = 0.31296ms; SamplesPerSecond = 3195
Epoch[ 1 of 2]-Minibatch[ 101- 110 of 320]: * 2560; ce = 1.65261841; err = 0.47695312; TotalTime = 0.79092s; TotalTimePerSample = 0.30895ms; SamplesPerSecond = 3236
Epoch[ 1 of 2]-Minibatch[ 111- 120 of 320]: * 2560; ce = 1.53025208; err = 0.45976563; TotalTime = 1.09289s; TotalTimePerSample = 0.42691ms; SamplesPerSecond = 2342
Epoch[ 1 of 2]-Minibatch[ 121- 130 of 320]: * 2560; ce = 1.47788544; err = 0.43945313; TotalTime = 0.78271s; TotalTimePerSample = 0.30575ms; SamplesPerSecond = 3270
Epoch[ 1 of 2]-Minibatch[ 131- 140 of 320]: * 2560; ce = 1.51797485; err = 0.45195313; TotalTime = 0.79339s; TotalTimePerSample = 0.30992ms; SamplesPerSecond = 3226
Epoch[ 1 of 2]-Minibatch[ 141- 150 of 320]: * 2560; ce = 1.46555481; err = 0.43203125; TotalTime = 0.83098s; TotalTimePerSample = 0.32460ms; SamplesPerSecond = 3080
Epoch[ 1 of 2]-Minibatch[ 151- 160 of 320]: * 2560; ce = 1.42054138; err = 0.43320313; TotalTime = 1.14820s; TotalTimePerSample = 0.44851ms; SamplesPerSecond = 2229
Epoch[ 1 of 2]-Minibatch[ 161- 170 of 320]: * 2560; ce = 1.41380615; err = 0.41875000; TotalTime = 0.81105s; TotalTimePerSample = 0.31682ms; SamplesPerSecond = 3156
Epoch[ 1 of 2]-Minibatch[ 171- 180 of 320]: * 2560; ce = 1.45621948; err = 0.42695312; TotalTime = 0.78965s; TotalTimePerSample = 0.30846ms; SamplesPerSecond = 3241
Epoch[ 1 of 2]-Minibatch[ 181- 190 of 320]: * 2560; ce = 1.48666992; err = 0.44218750; TotalTime = 0.77602s; TotalTimePerSample = 0.30313ms; SamplesPerSecond = 3298
Epoch[ 1 of 2]-Minibatch[ 191- 200 of 320]: * 2560; ce = 1.43567505; err = 0.43710938; TotalTime = 0.77241s; TotalTimePerSample = 0.30172ms; SamplesPerSecond = 3314
Epoch[ 1 of 2]-Minibatch[ 201- 210 of 320]: * 2560; ce = 1.35690918; err = 0.41562500; TotalTime = 0.80105s; TotalTimePerSample = 0.31291ms; SamplesPerSecond = 3195
Epoch[ 1 of 2]-Minibatch[ 211- 220 of 320]: * 2560; ce = 1.39897156; err = 0.42539063; TotalTime = 0.78187s; TotalTimePerSample = 0.30542ms; SamplesPerSecond = 3274
Epoch[ 1 of 2]-Minibatch[ 221- 230 of 320]: * 2560; ce = 1.40048218; err = 0.40937500; TotalTime = 0.76873s; TotalTimePerSample = 0.30029ms; SamplesPerSecond = 3330
Epoch[ 1 of 2]-Minibatch[ 231- 240 of 320]: * 2560; ce = 1.39494934; err = 0.43046875; TotalTime = 0.77391s; TotalTimePerSample = 0.30231ms; SamplesPerSecond = 3307
Epoch[ 1 of 2]-Minibatch[ 241- 250 of 320]: * 2560; ce = 1.33256531; err = 0.40312500; TotalTime = 0.81253s; TotalTimePerSample = 0.31740ms; SamplesPerSecond = 3150
Epoch[ 1 of 2]-Minibatch[ 251- 260 of 320]: * 2560; ce = 1.27213135; err = 0.39687500; TotalTime = 0.82009s; TotalTimePerSample = 0.32035ms; SamplesPerSecond = 3121
Epoch[ 1 of 2]-Minibatch[ 261- 270 of 320]: * 2560; ce = 1.31734619; err = 0.39804688; TotalTime = 1.00677s; TotalTimePerSample = 0.39327ms; SamplesPerSecond = 2542
Epoch[ 1 of 2]-Minibatch[ 271- 280 of 320]: * 2560; ce = 1.25228271; err = 0.38437500; TotalTime = 1.24405s; TotalTimePerSample = 0.48596ms; SamplesPerSecond = 2057
Epoch[ 1 of 2]-Minibatch[ 281- 290 of 320]: * 2560; ce = 1.22771301; err = 0.37343750; TotalTime = 0.81330s; TotalTimePerSample = 0.31770ms; SamplesPerSecond = 3147
Epoch[ 1 of 2]-Minibatch[ 291- 300 of 320]: * 2560; ce = 1.20522766; err = 0.35976562; TotalTime = 0.80344s; TotalTimePerSample = 0.31384ms; SamplesPerSecond = 3186
Epoch[ 1 of 2]-Minibatch[ 301- 310 of 320]: * 2560; ce = 1.23264771; err = 0.36718750; TotalTime = 0.81546s; TotalTimePerSample = 0.31854ms; SamplesPerSecond = 3139
Epoch[ 1 of 2]-Minibatch[ 311- 320 of 320]: * 2560; ce = 1.23756104; err = 0.37773438; TotalTime = 0.89764s; TotalTimePerSample = 0.35064ms; SamplesPerSecond = 2851
Finished Epoch[ 1 of 2]: [Training] ce = 1.6532061; err = 0.46914062; learningRatePerSample = 0.003125000047; EpochTime=32.141459
Starting Epoch 2: learning rate per sample = 0.003125 effective momentum = 0.900000
minibatchiterator: epoch 1: frames [81920..163840] (first utterance at frame 81920), data subset 0 of 1, with 1 datapasses
Starting minibatch loop.
Epoch[ 2 of 2]-Minibatch[ 1- 10 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23025007; EvalErrorPrediction = 0.37500000; TotalTime = 0.93409s; TotalTimePerSample = 0.36488ms; SamplesPerSecond = 2740
Epoch[ 2 of 2]-Minibatch[ 11- 20 of 320]: * 2560; CrossEntropyWithSoftmax = 1.19630919; EvalErrorPrediction = 0.37031250; TotalTime = 0.82552s; TotalTimePerSample = 0.32247ms; SamplesPerSecond = 3101
Epoch[ 2 of 2]-Minibatch[ 21- 30 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17490788; EvalErrorPrediction = 0.35585937; TotalTime = 0.79413s; TotalTimePerSample = 0.31021ms; SamplesPerSecond = 3223
Epoch[ 2 of 2]-Minibatch[ 31- 40 of 320]: * 2560; CrossEntropyWithSoftmax = 1.20401611; EvalErrorPrediction = 0.36210938; TotalTime = 0.81917s; TotalTimePerSample = 0.31999ms; SamplesPerSecond = 3125
Epoch[ 2 of 2]-Minibatch[ 41- 50 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18899193; EvalErrorPrediction = 0.38164063; TotalTime = 0.84552s; TotalTimePerSample = 0.33028ms; SamplesPerSecond = 3027
Epoch[ 2 of 2]-Minibatch[ 51- 60 of 320]: * 2560; CrossEntropyWithSoftmax = 1.16435585; EvalErrorPrediction = 0.34492187; TotalTime = 0.92039s; TotalTimePerSample = 0.35953ms; SamplesPerSecond = 2781
Epoch[ 2 of 2]-Minibatch[ 61- 70 of 320]: * 2560; CrossEntropyWithSoftmax = 1.13413086; EvalErrorPrediction = 0.34570313; TotalTime = 0.78939s; TotalTimePerSample = 0.30836ms; SamplesPerSecond = 3243
Epoch[ 2 of 2]-Minibatch[ 71- 80 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18822556; EvalErrorPrediction = 0.35820313; TotalTime = 1.28111s; TotalTimePerSample = 0.50043ms; SamplesPerSecond = 1998
Epoch[ 2 of 2]-Minibatch[ 81- 90 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23435211; EvalErrorPrediction = 0.37265625; TotalTime = 0.84101s; TotalTimePerSample = 0.32852ms; SamplesPerSecond = 3043
Epoch[ 2 of 2]-Minibatch[ 91- 100 of 320]: * 2560; CrossEntropyWithSoftmax = 1.19776535; EvalErrorPrediction = 0.36406250; TotalTime = 0.79750s; TotalTimePerSample = 0.31153ms; SamplesPerSecond = 3210
Epoch[ 2 of 2]-Minibatch[ 101- 110 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17883530; EvalErrorPrediction = 0.36601563; TotalTime = 0.78897s; TotalTimePerSample = 0.30819ms; SamplesPerSecond = 3244
Epoch[ 2 of 2]-Minibatch[ 111- 120 of 320]: * 2560; CrossEntropyWithSoftmax = 1.26480560; EvalErrorPrediction = 0.39179687; TotalTime = 0.80044s; TotalTimePerSample = 0.31267ms; SamplesPerSecond = 3198
Epoch[ 2 of 2]-Minibatch[ 121- 130 of 320]: * 2560; CrossEntropyWithSoftmax = 1.19315338; EvalErrorPrediction = 0.36406250; TotalTime = 0.78345s; TotalTimePerSample = 0.30604ms; SamplesPerSecond = 3267
Epoch[ 2 of 2]-Minibatch[ 131- 140 of 320]: * 2560; CrossEntropyWithSoftmax = 1.22714691; EvalErrorPrediction = 0.38046875; TotalTime = 0.83964s; TotalTimePerSample = 0.32798ms; SamplesPerSecond = 3048
Epoch[ 2 of 2]-Minibatch[ 141- 150 of 320]: * 2560; CrossEntropyWithSoftmax = 1.21824493; EvalErrorPrediction = 0.37929687; TotalTime = 0.78280s; TotalTimePerSample = 0.30578ms; SamplesPerSecond = 3270
Epoch[ 2 of 2]-Minibatch[ 151- 160 of 320]: * 2560; CrossEntropyWithSoftmax = 1.16403503; EvalErrorPrediction = 0.35742188; TotalTime = 0.77936s; TotalTimePerSample = 0.30444ms; SamplesPerSecond = 3284
Epoch[ 2 of 2]-Minibatch[ 161- 170 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14682007; EvalErrorPrediction = 0.35273437; TotalTime = 0.80358s; TotalTimePerSample = 0.31390ms; SamplesPerSecond = 3185
Epoch[ 2 of 2]-Minibatch[ 171- 180 of 320]: * 2560; CrossEntropyWithSoftmax = 1.16286163; EvalErrorPrediction = 0.34296875; TotalTime = 0.80497s; TotalTimePerSample = 0.31444ms; SamplesPerSecond = 3180
Epoch[ 2 of 2]-Minibatch[ 181- 190 of 320]: * 2560; CrossEntropyWithSoftmax = 1.15572357; EvalErrorPrediction = 0.35742188; TotalTime = 0.82832s; TotalTimePerSample = 0.32356ms; SamplesPerSecond = 3090
Epoch[ 2 of 2]-Minibatch[ 191- 200 of 320]: * 2560; CrossEntropyWithSoftmax = 1.09647369; EvalErrorPrediction = 0.33515625; TotalTime = 1.20946s; TotalTimePerSample = 0.47245ms; SamplesPerSecond = 2116
Epoch[ 2 of 2]-Minibatch[ 201- 210 of 320]: * 2560; CrossEntropyWithSoftmax = 1.15619965; EvalErrorPrediction = 0.35625000; TotalTime = 0.84213s; TotalTimePerSample = 0.32896ms; SamplesPerSecond = 3039
Epoch[ 2 of 2]-Minibatch[ 211- 220 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18662567; EvalErrorPrediction = 0.36171875; TotalTime = 0.79636s; TotalTimePerSample = 0.31108ms; SamplesPerSecond = 3214
Epoch[ 2 of 2]-Minibatch[ 221- 230 of 320]: * 2560; CrossEntropyWithSoftmax = 1.19353638; EvalErrorPrediction = 0.37578125; TotalTime = 0.79557s; TotalTimePerSample = 0.31077ms; SamplesPerSecond = 3217
Epoch[ 2 of 2]-Minibatch[ 231- 240 of 320]: * 2560; CrossEntropyWithSoftmax = 1.15247192; EvalErrorPrediction = 0.34726563; TotalTime = 0.78307s; TotalTimePerSample = 0.30589ms; SamplesPerSecond = 3269
Epoch[ 2 of 2]-Minibatch[ 241- 250 of 320]: * 2560; CrossEntropyWithSoftmax = 1.15059509; EvalErrorPrediction = 0.35117188; TotalTime = 0.78616s; TotalTimePerSample = 0.30709ms; SamplesPerSecond = 3256
Epoch[ 2 of 2]-Minibatch[ 251- 260 of 320]: * 2560; CrossEntropyWithSoftmax = 1.07452087; EvalErrorPrediction = 0.32890625; TotalTime = 0.81104s; TotalTimePerSample = 0.31681ms; SamplesPerSecond = 3156
Epoch[ 2 of 2]-Minibatch[ 261- 270 of 320]: * 2560; CrossEntropyWithSoftmax = 1.10093384; EvalErrorPrediction = 0.34609375; TotalTime = 0.82247s; TotalTimePerSample = 0.32128ms; SamplesPerSecond = 3112
Epoch[ 2 of 2]-Minibatch[ 271- 280 of 320]: * 2560; CrossEntropyWithSoftmax = 1.06968994; EvalErrorPrediction = 0.33164063; TotalTime = 0.80968s; TotalTimePerSample = 0.31628ms; SamplesPerSecond = 3161
Epoch[ 2 of 2]-Minibatch[ 281- 290 of 320]: * 2560; CrossEntropyWithSoftmax = 1.11170044; EvalErrorPrediction = 0.34296875; TotalTime = 0.80222s; TotalTimePerSample = 0.31337ms; SamplesPerSecond = 3191
Epoch[ 2 of 2]-Minibatch[ 291- 300 of 320]: * 2560; CrossEntropyWithSoftmax = 1.15401306; EvalErrorPrediction = 0.35585937; TotalTime = 0.96892s; TotalTimePerSample = 0.37848ms; SamplesPerSecond = 2642
Epoch[ 2 of 2]-Minibatch[ 301- 310 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12380981; EvalErrorPrediction = 0.35234375; TotalTime = 1.05247s; TotalTimePerSample = 0.41112ms; SamplesPerSecond = 2432
Epoch[ 2 of 2]-Minibatch[ 311- 320 of 320]: * 2560; CrossEntropyWithSoftmax = 1.07885132; EvalErrorPrediction = 0.32148437; TotalTime = 1.29900s; TotalTimePerSample = 0.50742ms; SamplesPerSecond = 1970
Finished Epoch[ 2 of 2]: [Training] CrossEntropyWithSoftmax = 1.1648235; EvalErrorPrediction = 0.35716555; learningRatePerSample = 0.003125000047; EpochTime=27.866186
Epoch[ 2 of 2]-Minibatch[ 1- 10 of 320]: * 2560; ce = 1.23025007; err = 0.37500000; TotalTime = 0.93409s; TotalTimePerSample = 0.36488ms; SamplesPerSecond = 2740
Epoch[ 2 of 2]-Minibatch[ 11- 20 of 320]: * 2560; ce = 1.19630919; err = 0.37031250; TotalTime = 0.82552s; TotalTimePerSample = 0.32247ms; SamplesPerSecond = 3101
Epoch[ 2 of 2]-Minibatch[ 21- 30 of 320]: * 2560; ce = 1.17490788; err = 0.35585937; TotalTime = 0.79413s; TotalTimePerSample = 0.31021ms; SamplesPerSecond = 3223
Epoch[ 2 of 2]-Minibatch[ 31- 40 of 320]: * 2560; ce = 1.20401611; err = 0.36210938; TotalTime = 0.81917s; TotalTimePerSample = 0.31999ms; SamplesPerSecond = 3125
Epoch[ 2 of 2]-Minibatch[ 41- 50 of 320]: * 2560; ce = 1.18899193; err = 0.38164063; TotalTime = 0.84552s; TotalTimePerSample = 0.33028ms; SamplesPerSecond = 3027
Epoch[ 2 of 2]-Minibatch[ 51- 60 of 320]: * 2560; ce = 1.16435585; err = 0.34492187; TotalTime = 0.92039s; TotalTimePerSample = 0.35953ms; SamplesPerSecond = 2781
Epoch[ 2 of 2]-Minibatch[ 61- 70 of 320]: * 2560; ce = 1.13413086; err = 0.34570313; TotalTime = 0.78939s; TotalTimePerSample = 0.30836ms; SamplesPerSecond = 3243
Epoch[ 2 of 2]-Minibatch[ 71- 80 of 320]: * 2560; ce = 1.18822556; err = 0.35820313; TotalTime = 1.28111s; TotalTimePerSample = 0.50043ms; SamplesPerSecond = 1998
Epoch[ 2 of 2]-Minibatch[ 81- 90 of 320]: * 2560; ce = 1.23435211; err = 0.37265625; TotalTime = 0.84101s; TotalTimePerSample = 0.32852ms; SamplesPerSecond = 3043
Epoch[ 2 of 2]-Minibatch[ 91- 100 of 320]: * 2560; ce = 1.19776535; err = 0.36406250; TotalTime = 0.79750s; TotalTimePerSample = 0.31153ms; SamplesPerSecond = 3210
Epoch[ 2 of 2]-Minibatch[ 101- 110 of 320]: * 2560; ce = 1.17883530; err = 0.36601563; TotalTime = 0.78897s; TotalTimePerSample = 0.30819ms; SamplesPerSecond = 3244
Epoch[ 2 of 2]-Minibatch[ 111- 120 of 320]: * 2560; ce = 1.26480560; err = 0.39179687; TotalTime = 0.80044s; TotalTimePerSample = 0.31267ms; SamplesPerSecond = 3198
Epoch[ 2 of 2]-Minibatch[ 121- 130 of 320]: * 2560; ce = 1.19315338; err = 0.36406250; TotalTime = 0.78345s; TotalTimePerSample = 0.30604ms; SamplesPerSecond = 3267
Epoch[ 2 of 2]-Minibatch[ 131- 140 of 320]: * 2560; ce = 1.22714691; err = 0.38046875; TotalTime = 0.83964s; TotalTimePerSample = 0.32798ms; SamplesPerSecond = 3048
Epoch[ 2 of 2]-Minibatch[ 141- 150 of 320]: * 2560; ce = 1.21824493; err = 0.37929687; TotalTime = 0.78280s; TotalTimePerSample = 0.30578ms; SamplesPerSecond = 3270
Epoch[ 2 of 2]-Minibatch[ 151- 160 of 320]: * 2560; ce = 1.16403503; err = 0.35742188; TotalTime = 0.77936s; TotalTimePerSample = 0.30444ms; SamplesPerSecond = 3284
Epoch[ 2 of 2]-Minibatch[ 161- 170 of 320]: * 2560; ce = 1.14682007; err = 0.35273437; TotalTime = 0.80358s; TotalTimePerSample = 0.31390ms; SamplesPerSecond = 3185
Epoch[ 2 of 2]-Minibatch[ 171- 180 of 320]: * 2560; ce = 1.16286163; err = 0.34296875; TotalTime = 0.80497s; TotalTimePerSample = 0.31444ms; SamplesPerSecond = 3180
Epoch[ 2 of 2]-Minibatch[ 181- 190 of 320]: * 2560; ce = 1.15572357; err = 0.35742188; TotalTime = 0.82832s; TotalTimePerSample = 0.32356ms; SamplesPerSecond = 3090
Epoch[ 2 of 2]-Minibatch[ 191- 200 of 320]: * 2560; ce = 1.09647369; err = 0.33515625; TotalTime = 1.20946s; TotalTimePerSample = 0.47245ms; SamplesPerSecond = 2116
Epoch[ 2 of 2]-Minibatch[ 201- 210 of 320]: * 2560; ce = 1.15619965; err = 0.35625000; TotalTime = 0.84213s; TotalTimePerSample = 0.32896ms; SamplesPerSecond = 3039
Epoch[ 2 of 2]-Minibatch[ 211- 220 of 320]: * 2560; ce = 1.18662567; err = 0.36171875; TotalTime = 0.79636s; TotalTimePerSample = 0.31108ms; SamplesPerSecond = 3214
Epoch[ 2 of 2]-Minibatch[ 221- 230 of 320]: * 2560; ce = 1.19353638; err = 0.37578125; TotalTime = 0.79557s; TotalTimePerSample = 0.31077ms; SamplesPerSecond = 3217
Epoch[ 2 of 2]-Minibatch[ 231- 240 of 320]: * 2560; ce = 1.15247192; err = 0.34726563; TotalTime = 0.78307s; TotalTimePerSample = 0.30589ms; SamplesPerSecond = 3269
Epoch[ 2 of 2]-Minibatch[ 241- 250 of 320]: * 2560; ce = 1.15059509; err = 0.35117188; TotalTime = 0.78616s; TotalTimePerSample = 0.30709ms; SamplesPerSecond = 3256
Epoch[ 2 of 2]-Minibatch[ 251- 260 of 320]: * 2560; ce = 1.07452087; err = 0.32890625; TotalTime = 0.81104s; TotalTimePerSample = 0.31681ms; SamplesPerSecond = 3156
Epoch[ 2 of 2]-Minibatch[ 261- 270 of 320]: * 2560; ce = 1.10093384; err = 0.34609375; TotalTime = 0.82247s; TotalTimePerSample = 0.32128ms; SamplesPerSecond = 3112
Epoch[ 2 of 2]-Minibatch[ 271- 280 of 320]: * 2560; ce = 1.06968994; err = 0.33164063; TotalTime = 0.80968s; TotalTimePerSample = 0.31628ms; SamplesPerSecond = 3161
Epoch[ 2 of 2]-Minibatch[ 281- 290 of 320]: * 2560; ce = 1.11170044; err = 0.34296875; TotalTime = 0.80222s; TotalTimePerSample = 0.31337ms; SamplesPerSecond = 3191
Epoch[ 2 of 2]-Minibatch[ 291- 300 of 320]: * 2560; ce = 1.15401306; err = 0.35585937; TotalTime = 0.96892s; TotalTimePerSample = 0.37848ms; SamplesPerSecond = 2642
Epoch[ 2 of 2]-Minibatch[ 301- 310 of 320]: * 2560; ce = 1.12380981; err = 0.35234375; TotalTime = 1.05247s; TotalTimePerSample = 0.41112ms; SamplesPerSecond = 2432
Epoch[ 2 of 2]-Minibatch[ 311- 320 of 320]: * 2560; ce = 1.07885132; err = 0.32148437; TotalTime = 1.29900s; TotalTimePerSample = 0.50742ms; SamplesPerSecond = 1970
Finished Epoch[ 2 of 2]: [Training] ce = 1.1648235; err = 0.35716555; learningRatePerSample = 0.003125000047; EpochTime=27.866186
CNTKCommandTrainEnd: DPT_Pre1
@ -1793,76 +1793,76 @@ minibatchiterator: epoch 0: frames [0..81920] (first utterance at frame 0), data
requiredata: determined feature kind as 33-dimensional 'USER' with frame shift 10.0 ms
Starting minibatch loop.
Epoch[ 1 of 2]-Minibatch[ 1- 10 of 320]: * 2560; CrossEntropyWithSoftmax = 4.54558067; EvalErrorPrediction = 0.80625000; TotalTime = 1.47303s; TotalTimePerSample = 0.57540ms; SamplesPerSecond = 1737
Epoch[ 1 of 2]-Minibatch[ 11- 20 of 320]: * 2560; CrossEntropyWithSoftmax = 2.84298668; EvalErrorPrediction = 0.68515625; TotalTime = 1.40407s; TotalTimePerSample = 0.54846ms; SamplesPerSecond = 1823
Epoch[ 1 of 2]-Minibatch[ 21- 30 of 320]: * 2560; CrossEntropyWithSoftmax = 2.27536545; EvalErrorPrediction = 0.60273438; TotalTime = 1.75662s; TotalTimePerSample = 0.68618ms; SamplesPerSecond = 1457
Epoch[ 1 of 2]-Minibatch[ 31- 40 of 320]: * 2560; CrossEntropyWithSoftmax = 1.91519928; EvalErrorPrediction = 0.51406250; TotalTime = 1.35283s; TotalTimePerSample = 0.52845ms; SamplesPerSecond = 1892
Epoch[ 1 of 2]-Minibatch[ 41- 50 of 320]: * 2560; CrossEntropyWithSoftmax = 1.68722076; EvalErrorPrediction = 0.46601562; TotalTime = 1.36410s; TotalTimePerSample = 0.53285ms; SamplesPerSecond = 1876
Epoch[ 1 of 2]-Minibatch[ 51- 60 of 320]: * 2560; CrossEntropyWithSoftmax = 1.58424530; EvalErrorPrediction = 0.45742187; TotalTime = 1.36985s; TotalTimePerSample = 0.53510ms; SamplesPerSecond = 1868
Epoch[ 1 of 2]-Minibatch[ 61- 70 of 320]: * 2560; CrossEntropyWithSoftmax = 1.49036713; EvalErrorPrediction = 0.43554688; TotalTime = 1.55377s; TotalTimePerSample = 0.60694ms; SamplesPerSecond = 1647
Epoch[ 1 of 2]-Minibatch[ 71- 80 of 320]: * 2560; CrossEntropyWithSoftmax = 1.48389893; EvalErrorPrediction = 0.43085937; TotalTime = 1.39856s; TotalTimePerSample = 0.54631ms; SamplesPerSecond = 1830
Epoch[ 1 of 2]-Minibatch[ 81- 90 of 320]: * 2560; CrossEntropyWithSoftmax = 1.45019989; EvalErrorPrediction = 0.41250000; TotalTime = 1.40718s; TotalTimePerSample = 0.54968ms; SamplesPerSecond = 1819
Epoch[ 1 of 2]-Minibatch[ 91- 100 of 320]: * 2560; CrossEntropyWithSoftmax = 1.41547852; EvalErrorPrediction = 0.40351562; TotalTime = 1.89277s; TotalTimePerSample = 0.73936ms; SamplesPerSecond = 1352
Epoch[ 1 of 2]-Minibatch[ 101- 110 of 320]: * 2560; CrossEntropyWithSoftmax = 1.41315918; EvalErrorPrediction = 0.40742187; TotalTime = 1.39634s; TotalTimePerSample = 0.54545ms; SamplesPerSecond = 1833
Epoch[ 1 of 2]-Minibatch[ 111- 120 of 320]: * 2560; CrossEntropyWithSoftmax = 1.33824921; EvalErrorPrediction = 0.39179687; TotalTime = 1.57873s; TotalTimePerSample = 0.61669ms; SamplesPerSecond = 1621
Epoch[ 1 of 2]-Minibatch[ 121- 130 of 320]: * 2560; CrossEntropyWithSoftmax = 1.31290741; EvalErrorPrediction = 0.38593750; TotalTime = 1.36941s; TotalTimePerSample = 0.53493ms; SamplesPerSecond = 1869
Epoch[ 1 of 2]-Minibatch[ 131- 140 of 320]: * 2560; CrossEntropyWithSoftmax = 1.33027344; EvalErrorPrediction = 0.40039063; TotalTime = 1.35049s; TotalTimePerSample = 0.52753ms; SamplesPerSecond = 1895
Epoch[ 1 of 2]-Minibatch[ 141- 150 of 320]: * 2560; CrossEntropyWithSoftmax = 1.31422729; EvalErrorPrediction = 0.38632813; TotalTime = 1.35598s; TotalTimePerSample = 0.52968ms; SamplesPerSecond = 1887
Epoch[ 1 of 2]-Minibatch[ 151- 160 of 320]: * 2560; CrossEntropyWithSoftmax = 1.26712646; EvalErrorPrediction = 0.38710937; TotalTime = 1.39183s; TotalTimePerSample = 0.54368ms; SamplesPerSecond = 1839
Epoch[ 1 of 2]-Minibatch[ 161- 170 of 320]: * 2560; CrossEntropyWithSoftmax = 1.28440247; EvalErrorPrediction = 0.38242188; TotalTime = 1.69816s; TotalTimePerSample = 0.66334ms; SamplesPerSecond = 1507
Epoch[ 1 of 2]-Minibatch[ 171- 180 of 320]: * 2560; CrossEntropyWithSoftmax = 1.31289368; EvalErrorPrediction = 0.39648438; TotalTime = 1.39519s; TotalTimePerSample = 0.54500ms; SamplesPerSecond = 1834
Epoch[ 1 of 2]-Minibatch[ 181- 190 of 320]: * 2560; CrossEntropyWithSoftmax = 1.33919067; EvalErrorPrediction = 0.41250000; TotalTime = 1.39722s; TotalTimePerSample = 0.54579ms; SamplesPerSecond = 1832
Epoch[ 1 of 2]-Minibatch[ 191- 200 of 320]: * 2560; CrossEntropyWithSoftmax = 1.31965942; EvalErrorPrediction = 0.41757813; TotalTime = 1.65563s; TotalTimePerSample = 0.64673ms; SamplesPerSecond = 1546
Epoch[ 1 of 2]-Minibatch[ 201- 210 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23342590; EvalErrorPrediction = 0.37578125; TotalTime = 1.64381s; TotalTimePerSample = 0.64211ms; SamplesPerSecond = 1557
Epoch[ 1 of 2]-Minibatch[ 211- 220 of 320]: * 2560; CrossEntropyWithSoftmax = 1.26905212; EvalErrorPrediction = 0.38671875; TotalTime = 1.40643s; TotalTimePerSample = 0.54938ms; SamplesPerSecond = 1820
Epoch[ 1 of 2]-Minibatch[ 221- 230 of 320]: * 2560; CrossEntropyWithSoftmax = 1.27187195; EvalErrorPrediction = 0.37109375; TotalTime = 1.33750s; TotalTimePerSample = 0.52246ms; SamplesPerSecond = 1914
Epoch[ 1 of 2]-Minibatch[ 231- 240 of 320]: * 2560; CrossEntropyWithSoftmax = 1.24517822; EvalErrorPrediction = 0.37382813; TotalTime = 1.70417s; TotalTimePerSample = 0.66569ms; SamplesPerSecond = 1502
Epoch[ 1 of 2]-Minibatch[ 241- 250 of 320]: * 2560; CrossEntropyWithSoftmax = 1.21053467; EvalErrorPrediction = 0.37109375; TotalTime = 1.36920s; TotalTimePerSample = 0.53484ms; SamplesPerSecond = 1869
Epoch[ 1 of 2]-Minibatch[ 251- 260 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18406067; EvalErrorPrediction = 0.36757812; TotalTime = 1.38623s; TotalTimePerSample = 0.54150ms; SamplesPerSecond = 1846
Epoch[ 1 of 2]-Minibatch[ 261- 270 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23108521; EvalErrorPrediction = 0.36718750; TotalTime = 1.33867s; TotalTimePerSample = 0.52292ms; SamplesPerSecond = 1912
Epoch[ 1 of 2]-Minibatch[ 271- 280 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18462524; EvalErrorPrediction = 0.36093750; TotalTime = 1.37471s; TotalTimePerSample = 0.53700ms; SamplesPerSecond = 1862
Epoch[ 1 of 2]-Minibatch[ 281- 290 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17063904; EvalErrorPrediction = 0.35781250; TotalTime = 1.38296s; TotalTimePerSample = 0.54022ms; SamplesPerSecond = 1851
Epoch[ 1 of 2]-Minibatch[ 291- 300 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14370728; EvalErrorPrediction = 0.34335938; TotalTime = 1.42403s; TotalTimePerSample = 0.55626ms; SamplesPerSecond = 1797
Epoch[ 1 of 2]-Minibatch[ 301- 310 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17314453; EvalErrorPrediction = 0.34921875; TotalTime = 1.37369s; TotalTimePerSample = 0.53660ms; SamplesPerSecond = 1863
Epoch[ 1 of 2]-Minibatch[ 311- 320 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18715210; EvalErrorPrediction = 0.36328125; TotalTime = 1.80418s; TotalTimePerSample = 0.70476ms; SamplesPerSecond = 1418
Finished Epoch[ 1 of 2]: [Training] CrossEntropyWithSoftmax = 1.5133471; EvalErrorPrediction = 0.42406008; learningRatePerSample = 0.003125000047; EpochTime=49.952198
Epoch[ 1 of 2]-Minibatch[ 1- 10 of 320]: * 2560; ce = 4.54558067; err = 0.80625000; TotalTime = 1.47303s; TotalTimePerSample = 0.57540ms; SamplesPerSecond = 1737
Epoch[ 1 of 2]-Minibatch[ 11- 20 of 320]: * 2560; ce = 2.84298668; err = 0.68515625; TotalTime = 1.40407s; TotalTimePerSample = 0.54846ms; SamplesPerSecond = 1823
Epoch[ 1 of 2]-Minibatch[ 21- 30 of 320]: * 2560; ce = 2.27536545; err = 0.60273438; TotalTime = 1.75662s; TotalTimePerSample = 0.68618ms; SamplesPerSecond = 1457
Epoch[ 1 of 2]-Minibatch[ 31- 40 of 320]: * 2560; ce = 1.91519928; err = 0.51406250; TotalTime = 1.35283s; TotalTimePerSample = 0.52845ms; SamplesPerSecond = 1892
Epoch[ 1 of 2]-Minibatch[ 41- 50 of 320]: * 2560; ce = 1.68722076; err = 0.46601562; TotalTime = 1.36410s; TotalTimePerSample = 0.53285ms; SamplesPerSecond = 1876
Epoch[ 1 of 2]-Minibatch[ 51- 60 of 320]: * 2560; ce = 1.58424530; err = 0.45742187; TotalTime = 1.36985s; TotalTimePerSample = 0.53510ms; SamplesPerSecond = 1868
Epoch[ 1 of 2]-Minibatch[ 61- 70 of 320]: * 2560; ce = 1.49036713; err = 0.43554688; TotalTime = 1.55377s; TotalTimePerSample = 0.60694ms; SamplesPerSecond = 1647
Epoch[ 1 of 2]-Minibatch[ 71- 80 of 320]: * 2560; ce = 1.48389893; err = 0.43085937; TotalTime = 1.39856s; TotalTimePerSample = 0.54631ms; SamplesPerSecond = 1830
Epoch[ 1 of 2]-Minibatch[ 81- 90 of 320]: * 2560; ce = 1.45019989; err = 0.41250000; TotalTime = 1.40718s; TotalTimePerSample = 0.54968ms; SamplesPerSecond = 1819
Epoch[ 1 of 2]-Minibatch[ 91- 100 of 320]: * 2560; ce = 1.41547852; err = 0.40351562; TotalTime = 1.89277s; TotalTimePerSample = 0.73936ms; SamplesPerSecond = 1352
Epoch[ 1 of 2]-Minibatch[ 101- 110 of 320]: * 2560; ce = 1.41315918; err = 0.40742187; TotalTime = 1.39634s; TotalTimePerSample = 0.54545ms; SamplesPerSecond = 1833
Epoch[ 1 of 2]-Minibatch[ 111- 120 of 320]: * 2560; ce = 1.33824921; err = 0.39179687; TotalTime = 1.57873s; TotalTimePerSample = 0.61669ms; SamplesPerSecond = 1621
Epoch[ 1 of 2]-Minibatch[ 121- 130 of 320]: * 2560; ce = 1.31290741; err = 0.38593750; TotalTime = 1.36941s; TotalTimePerSample = 0.53493ms; SamplesPerSecond = 1869
Epoch[ 1 of 2]-Minibatch[ 131- 140 of 320]: * 2560; ce = 1.33027344; err = 0.40039063; TotalTime = 1.35049s; TotalTimePerSample = 0.52753ms; SamplesPerSecond = 1895
Epoch[ 1 of 2]-Minibatch[ 141- 150 of 320]: * 2560; ce = 1.31422729; err = 0.38632813; TotalTime = 1.35598s; TotalTimePerSample = 0.52968ms; SamplesPerSecond = 1887
Epoch[ 1 of 2]-Minibatch[ 151- 160 of 320]: * 2560; ce = 1.26712646; err = 0.38710937; TotalTime = 1.39183s; TotalTimePerSample = 0.54368ms; SamplesPerSecond = 1839
Epoch[ 1 of 2]-Minibatch[ 161- 170 of 320]: * 2560; ce = 1.28440247; err = 0.38242188; TotalTime = 1.69816s; TotalTimePerSample = 0.66334ms; SamplesPerSecond = 1507
Epoch[ 1 of 2]-Minibatch[ 171- 180 of 320]: * 2560; ce = 1.31289368; err = 0.39648438; TotalTime = 1.39519s; TotalTimePerSample = 0.54500ms; SamplesPerSecond = 1834
Epoch[ 1 of 2]-Minibatch[ 181- 190 of 320]: * 2560; ce = 1.33919067; err = 0.41250000; TotalTime = 1.39722s; TotalTimePerSample = 0.54579ms; SamplesPerSecond = 1832
Epoch[ 1 of 2]-Minibatch[ 191- 200 of 320]: * 2560; ce = 1.31965942; err = 0.41757813; TotalTime = 1.65563s; TotalTimePerSample = 0.64673ms; SamplesPerSecond = 1546
Epoch[ 1 of 2]-Minibatch[ 201- 210 of 320]: * 2560; ce = 1.23342590; err = 0.37578125; TotalTime = 1.64381s; TotalTimePerSample = 0.64211ms; SamplesPerSecond = 1557
Epoch[ 1 of 2]-Minibatch[ 211- 220 of 320]: * 2560; ce = 1.26905212; err = 0.38671875; TotalTime = 1.40643s; TotalTimePerSample = 0.54938ms; SamplesPerSecond = 1820
Epoch[ 1 of 2]-Minibatch[ 221- 230 of 320]: * 2560; ce = 1.27187195; err = 0.37109375; TotalTime = 1.33750s; TotalTimePerSample = 0.52246ms; SamplesPerSecond = 1914
Epoch[ 1 of 2]-Minibatch[ 231- 240 of 320]: * 2560; ce = 1.24517822; err = 0.37382813; TotalTime = 1.70417s; TotalTimePerSample = 0.66569ms; SamplesPerSecond = 1502
Epoch[ 1 of 2]-Minibatch[ 241- 250 of 320]: * 2560; ce = 1.21053467; err = 0.37109375; TotalTime = 1.36920s; TotalTimePerSample = 0.53484ms; SamplesPerSecond = 1869
Epoch[ 1 of 2]-Minibatch[ 251- 260 of 320]: * 2560; ce = 1.18406067; err = 0.36757812; TotalTime = 1.38623s; TotalTimePerSample = 0.54150ms; SamplesPerSecond = 1846
Epoch[ 1 of 2]-Minibatch[ 261- 270 of 320]: * 2560; ce = 1.23108521; err = 0.36718750; TotalTime = 1.33867s; TotalTimePerSample = 0.52292ms; SamplesPerSecond = 1912
Epoch[ 1 of 2]-Minibatch[ 271- 280 of 320]: * 2560; ce = 1.18462524; err = 0.36093750; TotalTime = 1.37471s; TotalTimePerSample = 0.53700ms; SamplesPerSecond = 1862
Epoch[ 1 of 2]-Minibatch[ 281- 290 of 320]: * 2560; ce = 1.17063904; err = 0.35781250; TotalTime = 1.38296s; TotalTimePerSample = 0.54022ms; SamplesPerSecond = 1851
Epoch[ 1 of 2]-Minibatch[ 291- 300 of 320]: * 2560; ce = 1.14370728; err = 0.34335938; TotalTime = 1.42403s; TotalTimePerSample = 0.55626ms; SamplesPerSecond = 1797
Epoch[ 1 of 2]-Minibatch[ 301- 310 of 320]: * 2560; ce = 1.17314453; err = 0.34921875; TotalTime = 1.37369s; TotalTimePerSample = 0.53660ms; SamplesPerSecond = 1863
Epoch[ 1 of 2]-Minibatch[ 311- 320 of 320]: * 2560; ce = 1.18715210; err = 0.36328125; TotalTime = 1.80418s; TotalTimePerSample = 0.70476ms; SamplesPerSecond = 1418
Finished Epoch[ 1 of 2]: [Training] ce = 1.5133471; err = 0.42406008; learningRatePerSample = 0.003125000047; EpochTime=49.952198
Starting Epoch 2: learning rate per sample = 0.003125 effective momentum = 0.900000
minibatchiterator: epoch 1: frames [81920..163840] (first utterance at frame 81920), data subset 0 of 1, with 1 datapasses
Starting minibatch loop.
Epoch[ 2 of 2]-Minibatch[ 1- 10 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18743801; EvalErrorPrediction = 0.35585937; TotalTime = 1.47891s; TotalTimePerSample = 0.57770ms; SamplesPerSecond = 1731
Epoch[ 2 of 2]-Minibatch[ 11- 20 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14856281; EvalErrorPrediction = 0.34804687; TotalTime = 1.38199s; TotalTimePerSample = 0.53984ms; SamplesPerSecond = 1852
Epoch[ 2 of 2]-Minibatch[ 21- 30 of 320]: * 2560; CrossEntropyWithSoftmax = 1.15754395; EvalErrorPrediction = 0.34804687; TotalTime = 1.35597s; TotalTimePerSample = 0.52968ms; SamplesPerSecond = 1887
Epoch[ 2 of 2]-Minibatch[ 31- 40 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14760780; EvalErrorPrediction = 0.34375000; TotalTime = 1.36131s; TotalTimePerSample = 0.53176ms; SamplesPerSecond = 1880
Epoch[ 2 of 2]-Minibatch[ 41- 50 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14606209; EvalErrorPrediction = 0.35546875; TotalTime = 1.39984s; TotalTimePerSample = 0.54681ms; SamplesPerSecond = 1828
Epoch[ 2 of 2]-Minibatch[ 51- 60 of 320]: * 2560; CrossEntropyWithSoftmax = 1.13943710; EvalErrorPrediction = 0.33593750; TotalTime = 1.39025s; TotalTimePerSample = 0.54307ms; SamplesPerSecond = 1841
Epoch[ 2 of 2]-Minibatch[ 61- 70 of 320]: * 2560; CrossEntropyWithSoftmax = 1.09978561; EvalErrorPrediction = 0.33632812; TotalTime = 1.83114s; TotalTimePerSample = 0.71529ms; SamplesPerSecond = 1398
Epoch[ 2 of 2]-Minibatch[ 71- 80 of 320]: * 2560; CrossEntropyWithSoftmax = 1.16258240; EvalErrorPrediction = 0.35468750; TotalTime = 1.37695s; TotalTimePerSample = 0.53787ms; SamplesPerSecond = 1859
Epoch[ 2 of 2]-Minibatch[ 81- 90 of 320]: * 2560; CrossEntropyWithSoftmax = 1.16670074; EvalErrorPrediction = 0.36015625; TotalTime = 1.39585s; TotalTimePerSample = 0.54525ms; SamplesPerSecond = 1834
Epoch[ 2 of 2]-Minibatch[ 91- 100 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12352142; EvalErrorPrediction = 0.33867188; TotalTime = 1.36493s; TotalTimePerSample = 0.53317ms; SamplesPerSecond = 1875
Epoch[ 2 of 2]-Minibatch[ 101- 110 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12195129; EvalErrorPrediction = 0.34570313; TotalTime = 1.33980s; TotalTimePerSample = 0.52336ms; SamplesPerSecond = 1910
Epoch[ 2 of 2]-Minibatch[ 111- 120 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18841553; EvalErrorPrediction = 0.36562500; TotalTime = 1.34158s; TotalTimePerSample = 0.52405ms; SamplesPerSecond = 1908
Epoch[ 2 of 2]-Minibatch[ 121- 130 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14197235; EvalErrorPrediction = 0.34062500; TotalTime = 1.33997s; TotalTimePerSample = 0.52343ms; SamplesPerSecond = 1910
Epoch[ 2 of 2]-Minibatch[ 131- 140 of 320]: * 2560; CrossEntropyWithSoftmax = 1.17212372; EvalErrorPrediction = 0.35742188; TotalTime = 1.80645s; TotalTimePerSample = 0.70565ms; SamplesPerSecond = 1417
Epoch[ 2 of 2]-Minibatch[ 141- 150 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12667999; EvalErrorPrediction = 0.35273437; TotalTime = 1.38029s; TotalTimePerSample = 0.53918ms; SamplesPerSecond = 1854
Epoch[ 2 of 2]-Minibatch[ 151- 160 of 320]: * 2560; CrossEntropyWithSoftmax = 1.09235840; EvalErrorPrediction = 0.33476563; TotalTime = 1.43088s; TotalTimePerSample = 0.55894ms; SamplesPerSecond = 1789
Epoch[ 2 of 2]-Minibatch[ 161- 170 of 320]: * 2560; CrossEntropyWithSoftmax = 1.10599670; EvalErrorPrediction = 0.34062500; TotalTime = 1.34357s; TotalTimePerSample = 0.52483ms; SamplesPerSecond = 1905
Epoch[ 2 of 2]-Minibatch[ 171- 180 of 320]: * 2560; CrossEntropyWithSoftmax = 1.11184387; EvalErrorPrediction = 0.33320312; TotalTime = 1.38528s; TotalTimePerSample = 0.54113ms; SamplesPerSecond = 1847
Epoch[ 2 of 2]-Minibatch[ 181- 190 of 320]: * 2560; CrossEntropyWithSoftmax = 1.10395508; EvalErrorPrediction = 0.34023437; TotalTime = 1.39965s; TotalTimePerSample = 0.54674ms; SamplesPerSecond = 1829
Epoch[ 2 of 2]-Minibatch[ 191- 200 of 320]: * 2560; CrossEntropyWithSoftmax = 1.06003723; EvalErrorPrediction = 0.32773438; TotalTime = 1.37113s; TotalTimePerSample = 0.53560ms; SamplesPerSecond = 1867
Epoch[ 2 of 2]-Minibatch[ 201- 210 of 320]: * 2560; CrossEntropyWithSoftmax = 1.10617218; EvalErrorPrediction = 0.33476563; TotalTime = 1.80950s; TotalTimePerSample = 0.70684ms; SamplesPerSecond = 1414
Epoch[ 2 of 2]-Minibatch[ 211- 220 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14527283; EvalErrorPrediction = 0.35429688; TotalTime = 1.37585s; TotalTimePerSample = 0.53744ms; SamplesPerSecond = 1860
Epoch[ 2 of 2]-Minibatch[ 221- 230 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12649536; EvalErrorPrediction = 0.34414062; TotalTime = 1.35334s; TotalTimePerSample = 0.52865ms; SamplesPerSecond = 1891
Epoch[ 2 of 2]-Minibatch[ 231- 240 of 320]: * 2560; CrossEntropyWithSoftmax = 1.11939697; EvalErrorPrediction = 0.33632812; TotalTime = 1.33956s; TotalTimePerSample = 0.52327ms; SamplesPerSecond = 1911
Epoch[ 2 of 2]-Minibatch[ 241- 250 of 320]: * 2560; CrossEntropyWithSoftmax = 1.11855164; EvalErrorPrediction = 0.34375000; TotalTime = 1.36494s; TotalTimePerSample = 0.53318ms; SamplesPerSecond = 1875
Epoch[ 2 of 2]-Minibatch[ 251- 260 of 320]: * 2560; CrossEntropyWithSoftmax = 1.04503174; EvalErrorPrediction = 0.32539062; TotalTime = 1.38926s; TotalTimePerSample = 0.54268ms; SamplesPerSecond = 1842
Epoch[ 2 of 2]-Minibatch[ 261- 270 of 320]: * 2560; CrossEntropyWithSoftmax = 1.04819031; EvalErrorPrediction = 0.33281250; TotalTime = 1.36162s; TotalTimePerSample = 0.53188ms; SamplesPerSecond = 1880
Epoch[ 2 of 2]-Minibatch[ 271- 280 of 320]: * 2560; CrossEntropyWithSoftmax = 1.03961487; EvalErrorPrediction = 0.32070312; TotalTime = 1.37349s; TotalTimePerSample = 0.53652ms; SamplesPerSecond = 1863
Epoch[ 2 of 2]-Minibatch[ 281- 290 of 320]: * 2560; CrossEntropyWithSoftmax = 1.07194214; EvalErrorPrediction = 0.33242187; TotalTime = 1.81902s; TotalTimePerSample = 0.71056ms; SamplesPerSecond = 1407
Epoch[ 2 of 2]-Minibatch[ 291- 300 of 320]: * 2560; CrossEntropyWithSoftmax = 1.11237183; EvalErrorPrediction = 0.34335938; TotalTime = 1.36152s; TotalTimePerSample = 0.53184ms; SamplesPerSecond = 1880
Epoch[ 2 of 2]-Minibatch[ 301- 310 of 320]: * 2560; CrossEntropyWithSoftmax = 1.08430786; EvalErrorPrediction = 0.32890625; TotalTime = 1.43272s; TotalTimePerSample = 0.55965ms; SamplesPerSecond = 1786
Epoch[ 2 of 2]-Minibatch[ 311- 320 of 320]: * 2560; CrossEntropyWithSoftmax = 1.05424194; EvalErrorPrediction = 0.31484375; TotalTime = 1.34370s; TotalTimePerSample = 0.52488ms; SamplesPerSecond = 1905
Finished Epoch[ 2 of 2]: [Training] CrossEntropyWithSoftmax = 1.1180052; EvalErrorPrediction = 0.34147951; learningRatePerSample = 0.003125000047; EpochTime=45.82816
Epoch[ 2 of 2]-Minibatch[ 1- 10 of 320]: * 2560; ce = 1.18743801; err = 0.35585937; TotalTime = 1.47891s; TotalTimePerSample = 0.57770ms; SamplesPerSecond = 1731
Epoch[ 2 of 2]-Minibatch[ 11- 20 of 320]: * 2560; ce = 1.14856281; err = 0.34804687; TotalTime = 1.38199s; TotalTimePerSample = 0.53984ms; SamplesPerSecond = 1852
Epoch[ 2 of 2]-Minibatch[ 21- 30 of 320]: * 2560; ce = 1.15754395; err = 0.34804687; TotalTime = 1.35597s; TotalTimePerSample = 0.52968ms; SamplesPerSecond = 1887
Epoch[ 2 of 2]-Minibatch[ 31- 40 of 320]: * 2560; ce = 1.14760780; err = 0.34375000; TotalTime = 1.36131s; TotalTimePerSample = 0.53176ms; SamplesPerSecond = 1880
Epoch[ 2 of 2]-Minibatch[ 41- 50 of 320]: * 2560; ce = 1.14606209; err = 0.35546875; TotalTime = 1.39984s; TotalTimePerSample = 0.54681ms; SamplesPerSecond = 1828
Epoch[ 2 of 2]-Minibatch[ 51- 60 of 320]: * 2560; ce = 1.13943710; err = 0.33593750; TotalTime = 1.39025s; TotalTimePerSample = 0.54307ms; SamplesPerSecond = 1841
Epoch[ 2 of 2]-Minibatch[ 61- 70 of 320]: * 2560; ce = 1.09978561; err = 0.33632812; TotalTime = 1.83114s; TotalTimePerSample = 0.71529ms; SamplesPerSecond = 1398
Epoch[ 2 of 2]-Minibatch[ 71- 80 of 320]: * 2560; ce = 1.16258240; err = 0.35468750; TotalTime = 1.37695s; TotalTimePerSample = 0.53787ms; SamplesPerSecond = 1859
Epoch[ 2 of 2]-Minibatch[ 81- 90 of 320]: * 2560; ce = 1.16670074; err = 0.36015625; TotalTime = 1.39585s; TotalTimePerSample = 0.54525ms; SamplesPerSecond = 1834
Epoch[ 2 of 2]-Minibatch[ 91- 100 of 320]: * 2560; ce = 1.12352142; err = 0.33867188; TotalTime = 1.36493s; TotalTimePerSample = 0.53317ms; SamplesPerSecond = 1875
Epoch[ 2 of 2]-Minibatch[ 101- 110 of 320]: * 2560; ce = 1.12195129; err = 0.34570313; TotalTime = 1.33980s; TotalTimePerSample = 0.52336ms; SamplesPerSecond = 1910
Epoch[ 2 of 2]-Minibatch[ 111- 120 of 320]: * 2560; ce = 1.18841553; err = 0.36562500; TotalTime = 1.34158s; TotalTimePerSample = 0.52405ms; SamplesPerSecond = 1908
Epoch[ 2 of 2]-Minibatch[ 121- 130 of 320]: * 2560; ce = 1.14197235; err = 0.34062500; TotalTime = 1.33997s; TotalTimePerSample = 0.52343ms; SamplesPerSecond = 1910
Epoch[ 2 of 2]-Minibatch[ 131- 140 of 320]: * 2560; ce = 1.17212372; err = 0.35742188; TotalTime = 1.80645s; TotalTimePerSample = 0.70565ms; SamplesPerSecond = 1417
Epoch[ 2 of 2]-Minibatch[ 141- 150 of 320]: * 2560; ce = 1.12667999; err = 0.35273437; TotalTime = 1.38029s; TotalTimePerSample = 0.53918ms; SamplesPerSecond = 1854
Epoch[ 2 of 2]-Minibatch[ 151- 160 of 320]: * 2560; ce = 1.09235840; err = 0.33476563; TotalTime = 1.43088s; TotalTimePerSample = 0.55894ms; SamplesPerSecond = 1789
Epoch[ 2 of 2]-Minibatch[ 161- 170 of 320]: * 2560; ce = 1.10599670; err = 0.34062500; TotalTime = 1.34357s; TotalTimePerSample = 0.52483ms; SamplesPerSecond = 1905
Epoch[ 2 of 2]-Minibatch[ 171- 180 of 320]: * 2560; ce = 1.11184387; err = 0.33320312; TotalTime = 1.38528s; TotalTimePerSample = 0.54113ms; SamplesPerSecond = 1847
Epoch[ 2 of 2]-Minibatch[ 181- 190 of 320]: * 2560; ce = 1.10395508; err = 0.34023437; TotalTime = 1.39965s; TotalTimePerSample = 0.54674ms; SamplesPerSecond = 1829
Epoch[ 2 of 2]-Minibatch[ 191- 200 of 320]: * 2560; ce = 1.06003723; err = 0.32773438; TotalTime = 1.37113s; TotalTimePerSample = 0.53560ms; SamplesPerSecond = 1867
Epoch[ 2 of 2]-Minibatch[ 201- 210 of 320]: * 2560; ce = 1.10617218; err = 0.33476563; TotalTime = 1.80950s; TotalTimePerSample = 0.70684ms; SamplesPerSecond = 1414
Epoch[ 2 of 2]-Minibatch[ 211- 220 of 320]: * 2560; ce = 1.14527283; err = 0.35429688; TotalTime = 1.37585s; TotalTimePerSample = 0.53744ms; SamplesPerSecond = 1860
Epoch[ 2 of 2]-Minibatch[ 221- 230 of 320]: * 2560; ce = 1.12649536; err = 0.34414062; TotalTime = 1.35334s; TotalTimePerSample = 0.52865ms; SamplesPerSecond = 1891
Epoch[ 2 of 2]-Minibatch[ 231- 240 of 320]: * 2560; ce = 1.11939697; err = 0.33632812; TotalTime = 1.33956s; TotalTimePerSample = 0.52327ms; SamplesPerSecond = 1911
Epoch[ 2 of 2]-Minibatch[ 241- 250 of 320]: * 2560; ce = 1.11855164; err = 0.34375000; TotalTime = 1.36494s; TotalTimePerSample = 0.53318ms; SamplesPerSecond = 1875
Epoch[ 2 of 2]-Minibatch[ 251- 260 of 320]: * 2560; ce = 1.04503174; err = 0.32539062; TotalTime = 1.38926s; TotalTimePerSample = 0.54268ms; SamplesPerSecond = 1842
Epoch[ 2 of 2]-Minibatch[ 261- 270 of 320]: * 2560; ce = 1.04819031; err = 0.33281250; TotalTime = 1.36162s; TotalTimePerSample = 0.53188ms; SamplesPerSecond = 1880
Epoch[ 2 of 2]-Minibatch[ 271- 280 of 320]: * 2560; ce = 1.03961487; err = 0.32070312; TotalTime = 1.37349s; TotalTimePerSample = 0.53652ms; SamplesPerSecond = 1863
Epoch[ 2 of 2]-Minibatch[ 281- 290 of 320]: * 2560; ce = 1.07194214; err = 0.33242187; TotalTime = 1.81902s; TotalTimePerSample = 0.71056ms; SamplesPerSecond = 1407
Epoch[ 2 of 2]-Minibatch[ 291- 300 of 320]: * 2560; ce = 1.11237183; err = 0.34335938; TotalTime = 1.36152s; TotalTimePerSample = 0.53184ms; SamplesPerSecond = 1880
Epoch[ 2 of 2]-Minibatch[ 301- 310 of 320]: * 2560; ce = 1.08430786; err = 0.32890625; TotalTime = 1.43272s; TotalTimePerSample = 0.55965ms; SamplesPerSecond = 1786
Epoch[ 2 of 2]-Minibatch[ 311- 320 of 320]: * 2560; ce = 1.05424194; err = 0.31484375; TotalTime = 1.34370s; TotalTimePerSample = 0.52488ms; SamplesPerSecond = 1905
Finished Epoch[ 2 of 2]: [Training] ce = 1.1180052; err = 0.34147951; learningRatePerSample = 0.003125000047; EpochTime=45.82816
CNTKCommandTrainEnd: DPT_Pre2
@ -3177,101 +3177,101 @@ minibatchiterator: epoch 0: frames [0..81920] (first utterance at frame 0), data
requiredata: determined feature kind as 33-dimensional 'USER' with frame shift 10.0 ms
Starting minibatch loop.
Epoch[ 1 of 4]-Minibatch[ 1- 10 of 320]: * 2560; CrossEntropyWithSoftmax = 4.17336311; EvalErrorPrediction = 0.84023437; TotalTime = 2.06124s; TotalTimePerSample = 0.80517ms; SamplesPerSecond = 1241
Epoch[ 1 of 4]-Minibatch[ 11- 20 of 320]: * 2560; CrossEntropyWithSoftmax = 2.58318291; EvalErrorPrediction = 0.64453125; TotalTime = 1.93110s; TotalTimePerSample = 0.75433ms; SamplesPerSecond = 1325
Epoch[ 1 of 4]-Minibatch[ 21- 30 of 320]: * 2560; CrossEntropyWithSoftmax = 2.05603027; EvalErrorPrediction = 0.54648438; TotalTime = 1.90603s; TotalTimePerSample = 0.74454ms; SamplesPerSecond = 1343
Epoch[ 1 of 4]-Minibatch[ 31- 40 of 320]: * 2560; CrossEntropyWithSoftmax = 1.74777603; EvalErrorPrediction = 0.47773437; TotalTime = 1.91457s; TotalTimePerSample = 0.74788ms; SamplesPerSecond = 1337
Epoch[ 1 of 4]-Minibatch[ 41- 50 of 320]: * 2560; CrossEntropyWithSoftmax = 1.54688110; EvalErrorPrediction = 0.43867187; TotalTime = 2.54444s; TotalTimePerSample = 0.99392ms; SamplesPerSecond = 1006
Epoch[ 1 of 4]-Minibatch[ 51- 60 of 320]: * 2560; CrossEntropyWithSoftmax = 1.44241409; EvalErrorPrediction = 0.41406250; TotalTime = 2.03288s; TotalTimePerSample = 0.79410ms; SamplesPerSecond = 1259
Epoch[ 1 of 4]-Minibatch[ 61- 70 of 320]: * 2560; CrossEntropyWithSoftmax = 1.35854034; EvalErrorPrediction = 0.40312500; TotalTime = 2.14522s; TotalTimePerSample = 0.83798ms; SamplesPerSecond = 1193
Epoch[ 1 of 4]-Minibatch[ 71- 80 of 320]: * 2560; CrossEntropyWithSoftmax = 1.35585175; EvalErrorPrediction = 0.39531250; TotalTime = 1.92814s; TotalTimePerSample = 0.75318ms; SamplesPerSecond = 1327
Epoch[ 1 of 4]-Minibatch[ 81- 90 of 320]: * 2560; CrossEntropyWithSoftmax = 1.33494263; EvalErrorPrediction = 0.38789062; TotalTime = 2.00338s; TotalTimePerSample = 0.78257ms; SamplesPerSecond = 1277
Epoch[ 1 of 4]-Minibatch[ 91- 100 of 320]: * 2560; CrossEntropyWithSoftmax = 1.30348053; EvalErrorPrediction = 0.38320312; TotalTime = 2.44259s; TotalTimePerSample = 0.95414ms; SamplesPerSecond = 1048
Epoch[ 1 of 4]-Minibatch[ 101- 110 of 320]: * 2560; CrossEntropyWithSoftmax = 1.30501862; EvalErrorPrediction = 0.38085938; TotalTime = 1.92867s; TotalTimePerSample = 0.75339ms; SamplesPerSecond = 1327
Epoch[ 1 of 4]-Minibatch[ 111- 120 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23170624; EvalErrorPrediction = 0.36640625; TotalTime = 3.54710s; TotalTimePerSample = 1.38558ms; SamplesPerSecond = 721
Epoch[ 1 of 4]-Minibatch[ 121- 130 of 320]: * 2560; CrossEntropyWithSoftmax = 1.20843506; EvalErrorPrediction = 0.35546875; TotalTime = 2.56219s; TotalTimePerSample = 1.00086ms; SamplesPerSecond = 999
Epoch[ 1 of 4]-Minibatch[ 131- 140 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23209686; EvalErrorPrediction = 0.36601563; TotalTime = 2.63928s; TotalTimePerSample = 1.03097ms; SamplesPerSecond = 969
Epoch[ 1 of 4]-Minibatch[ 141- 150 of 320]: * 2560; CrossEntropyWithSoftmax = 1.22095490; EvalErrorPrediction = 0.37070313; TotalTime = 1.94429s; TotalTimePerSample = 0.75949ms; SamplesPerSecond = 1316
Epoch[ 1 of 4]-Minibatch[ 151- 160 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18400879; EvalErrorPrediction = 0.35156250; TotalTime = 1.94206s; TotalTimePerSample = 0.75862ms; SamplesPerSecond = 1318
Epoch[ 1 of 4]-Minibatch[ 161- 170 of 320]: * 2560; CrossEntropyWithSoftmax = 1.20606384; EvalErrorPrediction = 0.35976562; TotalTime = 1.91605s; TotalTimePerSample = 0.74846ms; SamplesPerSecond = 1336
Epoch[ 1 of 4]-Minibatch[ 171- 180 of 320]: * 2560; CrossEntropyWithSoftmax = 1.23779907; EvalErrorPrediction = 0.37617187; TotalTime = 1.92765s; TotalTimePerSample = 0.75299ms; SamplesPerSecond = 1328
Epoch[ 1 of 4]-Minibatch[ 181- 190 of 320]: * 2560; CrossEntropyWithSoftmax = 1.26740112; EvalErrorPrediction = 0.37851563; TotalTime = 2.45290s; TotalTimePerSample = 0.95817ms; SamplesPerSecond = 1043
Epoch[ 1 of 4]-Minibatch[ 191- 200 of 320]: * 2560; CrossEntropyWithSoftmax = 1.22087402; EvalErrorPrediction = 0.38046875; TotalTime = 1.94683s; TotalTimePerSample = 0.76048ms; SamplesPerSecond = 1314
Epoch[ 1 of 4]-Minibatch[ 201- 210 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18200684; EvalErrorPrediction = 0.36210938; TotalTime = 1.92878s; TotalTimePerSample = 0.75343ms; SamplesPerSecond = 1327
Epoch[ 1 of 4]-Minibatch[ 211- 220 of 320]: * 2560; CrossEntropyWithSoftmax = 1.19344177; EvalErrorPrediction = 0.37070313; TotalTime = 1.94856s; TotalTimePerSample = 0.76116ms; SamplesPerSecond = 1313
Epoch[ 1 of 4]-Minibatch[ 221- 230 of 320]: * 2560; CrossEntropyWithSoftmax = 1.22325745; EvalErrorPrediction = 0.35468750; TotalTime = 2.01215s; TotalTimePerSample = 0.78600ms; SamplesPerSecond = 1272
Epoch[ 1 of 4]-Minibatch[ 231- 240 of 320]: * 2560; CrossEntropyWithSoftmax = 1.19638977; EvalErrorPrediction = 0.35898438; TotalTime = 2.45478s; TotalTimePerSample = 0.95890ms; SamplesPerSecond = 1042
Epoch[ 1 of 4]-Minibatch[ 241- 250 of 320]: * 2560; CrossEntropyWithSoftmax = 1.16811523; EvalErrorPrediction = 0.36562500; TotalTime = 2.04822s; TotalTimePerSample = 0.80009ms; SamplesPerSecond = 1249
Epoch[ 1 of 4]-Minibatch[ 251- 260 of 320]: * 2560; CrossEntropyWithSoftmax = 1.12518311; EvalErrorPrediction = 0.34765625; TotalTime = 1.96534s; TotalTimePerSample = 0.76771ms; SamplesPerSecond = 1302
Epoch[ 1 of 4]-Minibatch[ 261- 270 of 320]: * 2560; CrossEntropyWithSoftmax = 1.18634338; EvalErrorPrediction = 0.35312500; TotalTime = 1.99261s; TotalTimePerSample = 0.77836ms; SamplesPerSecond = 1284
Epoch[ 1 of 4]-Minibatch[ 271- 280 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14113159; EvalErrorPrediction = 0.35000000; TotalTime = 1.92141s; TotalTimePerSample = 0.75055ms; SamplesPerSecond = 1332
Epoch[ 1 of 4]-Minibatch[ 281- 290 of 320]: * 2560; CrossEntropyWithSoftmax = 1.14277954; EvalErrorPrediction = 0.34414062; TotalTime = 2.31260s; TotalTimePerSample = 0.90336ms; SamplesPerSecond = 1106
Epoch[ 1 of 4]-Minibatch[ 291- 300 of 320]: * 2560; CrossEntropyWithSoftmax = 1.11815796; EvalErrorPrediction = 0.33867188; TotalTime = 1.95541s; TotalTimePerSample = 0.76383ms; SamplesPerSecond = 1309
Epoch[ 1 of 4]-Minibatch[ 301- 310 of 320]: * 2560; CrossEntropyWithSoftmax = 1.13609314; EvalErrorPrediction = 0.34140625; TotalTime = 1.91000s; TotalTimePerSample = 0.74609ms; SamplesPerSecond = 1340
Epoch[ 1 of 4]-Minibatch[ 311- 320 of 320]: * 2560; CrossEntropyWithSoftmax = 1.13069458; EvalErrorPrediction = 0.34609375; TotalTime = 1.90057s; TotalTimePerSample = 0.74241ms; SamplesPerSecond = 1346
Finished Epoch[ 1 of 4]: [Training] CrossEntropyWithSoftmax = 1.411263; EvalErrorPrediction = 0.4015747; learningRatePerSample = 0.003125000047; EpochTime=71.007888
Epoch[ 1 of 4]-Minibatch[ 1- 10 of 320]: * 2560; ce = 4.17336311; err = 0.84023437; TotalTime = 2.06124s; TotalTimePerSample = 0.80517ms; SamplesPerSecond = 1241
Epoch[ 1 of 4]-Minibatch[ 11- 20 of 320]: * 2560; ce = 2.58318291; err = 0.64453125; TotalTime = 1.93110s; TotalTimePerSample = 0.75433ms; SamplesPerSecond = 1325
Epoch[ 1 of 4]-Minibatch[ 21- 30 of 320]: * 2560; ce = 2.05603027; err = 0.54648438; TotalTime = 1.90603s; TotalTimePerSample = 0.74454ms; SamplesPerSecond = 1343
Epoch[ 1 of 4]-Minibatch[ 31- 40 of 320]: * 2560; ce = 1.74777603; err = 0.47773437; TotalTime = 1.91457s; TotalTimePerSample = 0.74788ms; SamplesPerSecond = 1337
Epoch[ 1 of 4]-Minibatch[ 41- 50 of 320]: * 2560; ce = 1.54688110; err = 0.43867187; TotalTime = 2.54444s; TotalTimePerSample = 0.99392ms; SamplesPerSecond = 1006
Epoch[ 1 of 4]-Minibatch[ 51- 60 of 320]: * 2560; ce = 1.44241409; err = 0.41406250; TotalTime = 2.03288s; TotalTimePerSample = 0.79410ms; SamplesPerSecond = 1259
Epoch[ 1 of 4]-Minibatch[ 61- 70 of 320]: * 2560; ce = 1.35854034; err = 0.40312500; TotalTime = 2.14522s; TotalTimePerSample = 0.83798ms; SamplesPerSecond = 1193
Epoch[ 1 of 4]-Minibatch[ 71- 80 of 320]: * 2560; ce = 1.35585175; err = 0.39531250; TotalTime = 1.92814s; TotalTimePerSample = 0.75318ms; SamplesPerSecond = 1327
Epoch[ 1 of 4]-Minibatch[ 81- 90 of 320]: * 2560; ce = 1.33494263; err = 0.38789062; TotalTime = 2.00338s; TotalTimePerSample = 0.78257ms; SamplesPerSecond = 1277
Epoch[ 1 of 4]-Minibatch[ 91- 100 of 320]: * 2560; ce = 1.30348053; err = 0.38320312; TotalTime = 2.44259s; TotalTimePerSample = 0.95414ms; SamplesPerSecond = 1048
Epoch[ 1 of 4]-Minibatch[ 101- 110 of 320]: * 2560; ce = 1.30501862; err = 0.38085938; TotalTime = 1.92867s; TotalTimePerSample = 0.75339ms; SamplesPerSecond = 1327
Epoch[ 1 of 4]-Minibatch[ 111- 120 of 320]: * 2560; ce = 1.23170624; err = 0.36640625; TotalTime = 3.54710s; TotalTimePerSample = 1.38558ms; SamplesPerSecond = 721
Epoch[ 1 of 4]-Minibatch[ 121- 130 of 320]: * 2560; ce = 1.20843506; err = 0.35546875; TotalTime = 2.56219s; TotalTimePerSample = 1.00086ms; SamplesPerSecond = 999
Epoch[ 1 of 4]-Minibatch[ 131- 140 of 320]: * 2560; ce = 1.23209686; err = 0.36601563; TotalTime = 2.63928s; TotalTimePerSample = 1.03097ms; SamplesPerSecond = 969
Epoch[ 1 of 4]-Minibatch[ 141- 150 of 320]: * 2560; ce = 1.22095490; err = 0.37070313; TotalTime = 1.94429s; TotalTimePerSample = 0.75949ms; SamplesPerSecond = 1316
Epoch[ 1 of 4]-Minibatch[ 151- 160 of 320]: * 2560; ce = 1.18400879; err = 0.35156250; TotalTime = 1.94206s; TotalTimePerSample = 0.75862ms; SamplesPerSecond = 1318
Epoch[ 1 of 4]-Minibatch[ 161- 170 of 320]: * 2560; ce = 1.20606384; err = 0.35976562; TotalTime = 1.91605s; TotalTimePerSample = 0.74846ms; SamplesPerSecond = 1336
Epoch[ 1 of 4]-Minibatch[ 171- 180 of 320]: * 2560; ce = 1.23779907; err = 0.37617187; TotalTime = 1.92765s; TotalTimePerSample = 0.75299ms; SamplesPerSecond = 1328
Epoch[ 1 of 4]-Minibatch[ 181- 190 of 320]: * 2560; ce = 1.26740112; err = 0.37851563; TotalTime = 2.45290s; TotalTimePerSample = 0.95817ms; SamplesPerSecond = 1043
Epoch[ 1 of 4]-Minibatch[ 191- 200 of 320]: * 2560; ce = 1.22087402; err = 0.38046875; TotalTime = 1.94683s; TotalTimePerSample = 0.76048ms; SamplesPerSecond = 1314
Epoch[ 1 of 4]-Minibatch[ 201- 210 of 320]: * 2560; ce = 1.18200684; err = 0.36210938; TotalTime = 1.92878s; TotalTimePerSample = 0.75343ms; SamplesPerSecond = 1327
Epoch[ 1 of 4]-Minibatch[ 211- 220 of 320]: * 2560; ce = 1.19344177; err = 0.37070313; TotalTime = 1.94856s; TotalTimePerSample = 0.76116ms; SamplesPerSecond = 1313
Epoch[ 1 of 4]-Minibatch[ 221- 230 of 320]: * 2560; ce = 1.22325745; err = 0.35468750; TotalTime = 2.01215s; TotalTimePerSample = 0.78600ms; SamplesPerSecond = 1272
Epoch[ 1 of 4]-Minibatch[ 231- 240 of 320]: * 2560; ce = 1.19638977; err = 0.35898438; TotalTime = 2.45478s; TotalTimePerSample = 0.95890ms; SamplesPerSecond = 1042
Epoch[ 1 of 4]-Minibatch[ 241- 250 of 320]: * 2560; ce = 1.16811523; err = 0.36562500; TotalTime = 2.04822s; TotalTimePerSample = 0.80009ms; SamplesPerSecond = 1249
Epoch[ 1 of 4]-Minibatch[ 251- 260 of 320]: * 2560; ce = 1.12518311; err = 0.34765625; TotalTime = 1.96534s; TotalTimePerSample = 0.76771ms; SamplesPerSecond = 1302
Epoch[ 1 of 4]-Minibatch[ 261- 270 of 320]: * 2560; ce = 1.18634338; err = 0.35312500; TotalTime = 1.99261s; TotalTimePerSample = 0.77836ms; SamplesPerSecond = 1284
Epoch[ 1 of 4]-Minibatch[ 271- 280 of 320]: * 2560; ce = 1.14113159; err = 0.35000000; TotalTime = 1.92141s; TotalTimePerSample = 0.75055ms; SamplesPerSecond = 1332
Epoch[ 1 of 4]-Minibatch[ 281- 290 of 320]: * 2560; ce = 1.14277954; err = 0.34414062; TotalTime = 2.31260s; TotalTimePerSample = 0.90336ms; SamplesPerSecond = 1106
Epoch[ 1 of 4]-Minibatch[ 291- 300 of 320]: * 2560; ce = 1.11815796; err = 0.33867188; TotalTime = 1.95541s; TotalTimePerSample = 0.76383ms; SamplesPerSecond = 1309
Epoch[ 1 of 4]-Minibatch[ 301- 310 of 320]: * 2560; ce = 1.13609314; err = 0.34140625; TotalTime = 1.91000s; TotalTimePerSample = 0.74609ms; SamplesPerSecond = 1340
Epoch[ 1 of 4]-Minibatch[ 311- 320 of 320]: * 2560; ce = 1.13069458; err = 0.34609375; TotalTime = 1.90057s; TotalTimePerSample = 0.74241ms; SamplesPerSecond = 1346
Finished Epoch[ 1 of 4]: [Training] ce = 1.411263; err = 0.4015747; learningRatePerSample = 0.003125000047; EpochTime=71.007888
Starting Epoch 2: learning rate per sample = 0.003125 effective momentum = 0.810210
minibatchiterator: epoch 1: frames [81920..163840] (first utterance at frame 81920), data subset 0 of 1, with 1 datapasses
Starting minibatch loop.
Epoch[ 2 of 4]-Minibatch[ 1- 10 of 160]: * 5120; CrossEntropyWithSoftmax = 1.20858374; EvalErrorPrediction = 0.36269531; TotalTime = 2.60521s; TotalTimePerSample = 0.50883ms; SamplesPerSecond = 1965
Epoch[ 2 of 4]-Minibatch[ 11- 20 of 160]: * 5120; CrossEntropyWithSoftmax = 1.15259104; EvalErrorPrediction = 0.34609375; TotalTime = 2.83770s; TotalTimePerSample = 0.55424ms; SamplesPerSecond = 1804
Epoch[ 2 of 4]-Minibatch[ 21- 30 of 160]: * 5120; CrossEntropyWithSoftmax = 1.11579819; EvalErrorPrediction = 0.34238281; TotalTime = 2.41000s; TotalTimePerSample = 0.47070ms; SamplesPerSecond = 2124
Epoch[ 2 of 4]-Minibatch[ 31- 40 of 160]: * 5120; CrossEntropyWithSoftmax = 1.11495934; EvalErrorPrediction = 0.34570313; TotalTime = 2.45457s; TotalTimePerSample = 0.47941ms; SamplesPerSecond = 2085
Epoch[ 2 of 4]-Minibatch[ 41- 50 of 160]: * 5120; CrossEntropyWithSoftmax = 1.19023743; EvalErrorPrediction = 0.36894531; TotalTime = 2.40870s; TotalTimePerSample = 0.47045ms; SamplesPerSecond = 2125
Epoch[ 2 of 4]-Minibatch[ 51- 60 of 160]: * 5120; CrossEntropyWithSoftmax = 1.18024330; EvalErrorPrediction = 0.36210938; TotalTime = 2.75762s; TotalTimePerSample = 0.53860ms; SamplesPerSecond = 1856
Epoch[ 2 of 4]-Minibatch[ 61- 70 of 160]: * 5120; CrossEntropyWithSoftmax = 1.16740799; EvalErrorPrediction = 0.35175781; TotalTime = 2.46142s; TotalTimePerSample = 0.48075ms; SamplesPerSecond = 2080
Epoch[ 2 of 4]-Minibatch[ 71- 80 of 160]: * 5120; CrossEntropyWithSoftmax = 1.09000397; EvalErrorPrediction = 0.34121094; TotalTime = 2.43527s; TotalTimePerSample = 0.47564ms; SamplesPerSecond = 2102
Epoch[ 2 of 4]-Minibatch[ 81- 90 of 160]: * 5120; CrossEntropyWithSoftmax = 1.09481125; EvalErrorPrediction = 0.33378906; TotalTime = 2.46109s; TotalTimePerSample = 0.48068ms; SamplesPerSecond = 2080
Epoch[ 2 of 4]-Minibatch[ 91- 100 of 160]: * 5120; CrossEntropyWithSoftmax = 1.06353989; EvalErrorPrediction = 0.32480469; TotalTime = 2.90383s; TotalTimePerSample = 0.56715ms; SamplesPerSecond = 1763
Epoch[ 2 of 4]-Minibatch[ 101- 110 of 160]: * 5120; CrossEntropyWithSoftmax = 1.11828995; EvalErrorPrediction = 0.34199219; TotalTime = 2.37363s; TotalTimePerSample = 0.46360ms; SamplesPerSecond = 2157
Epoch[ 2 of 4]-Minibatch[ 111- 120 of 160]: * 5120; CrossEntropyWithSoftmax = 1.15714111; EvalErrorPrediction = 0.35742188; TotalTime = 2.41495s; TotalTimePerSample = 0.47167ms; SamplesPerSecond = 2120
Epoch[ 2 of 4]-Minibatch[ 121- 130 of 160]: * 5120; CrossEntropyWithSoftmax = 1.06128235; EvalErrorPrediction = 0.32871094; TotalTime = 2.42177s; TotalTimePerSample = 0.47300ms; SamplesPerSecond = 2114
Epoch[ 2 of 4]-Minibatch[ 131- 140 of 160]: * 5120; CrossEntropyWithSoftmax = 1.03393250; EvalErrorPrediction = 0.32167969; TotalTime = 2.86138s; TotalTimePerSample = 0.55886ms; SamplesPerSecond = 1789
Epoch[ 2 of 4]-Minibatch[ 141- 150 of 160]: * 5120; CrossEntropyWithSoftmax = 1.09766846; EvalErrorPrediction = 0.33828125; TotalTime = 2.49456s; TotalTimePerSample = 0.48722ms; SamplesPerSecond = 2052
Epoch[ 2 of 4]-Minibatch[ 151- 160 of 160]: * 5120; CrossEntropyWithSoftmax = 1.07232513; EvalErrorPrediction = 0.32617188; TotalTime = 2.62645s; TotalTimePerSample = 0.51298ms; SamplesPerSecond = 1949
Finished Epoch[ 2 of 4]: [Training] CrossEntropyWithSoftmax = 1.119926; EvalErrorPrediction = 0.34335938; learningRatePerSample = 0.003125000047; EpochTime=40.972593
Epoch[ 2 of 4]-Minibatch[ 1- 10 of 160]: * 5120; ce = 1.20858374; err = 0.36269531; TotalTime = 2.60521s; TotalTimePerSample = 0.50883ms; SamplesPerSecond = 1965
Epoch[ 2 of 4]-Minibatch[ 11- 20 of 160]: * 5120; ce = 1.15259104; err = 0.34609375; TotalTime = 2.83770s; TotalTimePerSample = 0.55424ms; SamplesPerSecond = 1804
Epoch[ 2 of 4]-Minibatch[ 21- 30 of 160]: * 5120; ce = 1.11579819; err = 0.34238281; TotalTime = 2.41000s; TotalTimePerSample = 0.47070ms; SamplesPerSecond = 2124
Epoch[ 2 of 4]-Minibatch[ 31- 40 of 160]: * 5120; ce = 1.11495934; err = 0.34570313; TotalTime = 2.45457s; TotalTimePerSample = 0.47941ms; SamplesPerSecond = 2085
Epoch[ 2 of 4]-Minibatch[ 41- 50 of 160]: * 5120; ce = 1.19023743; err = 0.36894531; TotalTime = 2.40870s; TotalTimePerSample = 0.47045ms; SamplesPerSecond = 2125
Epoch[ 2 of 4]-Minibatch[ 51- 60 of 160]: * 5120; ce = 1.18024330; err = 0.36210938; TotalTime = 2.75762s; TotalTimePerSample = 0.53860ms; SamplesPerSecond = 1856
Epoch[ 2 of 4]-Minibatch[ 61- 70 of 160]: * 5120; ce = 1.16740799; err = 0.35175781; TotalTime = 2.46142s; TotalTimePerSample = 0.48075ms; SamplesPerSecond = 2080
Epoch[ 2 of 4]-Minibatch[ 71- 80 of 160]: * 5120; ce = 1.09000397; err = 0.34121094; TotalTime = 2.43527s; TotalTimePerSample = 0.47564ms; SamplesPerSecond = 2102
Epoch[ 2 of 4]-Minibatch[ 81- 90 of 160]: * 5120; ce = 1.09481125; err = 0.33378906; TotalTime = 2.46109s; TotalTimePerSample = 0.48068ms; SamplesPerSecond = 2080
Epoch[ 2 of 4]-Minibatch[ 91- 100 of 160]: * 5120; ce = 1.06353989; err = 0.32480469; TotalTime = 2.90383s; TotalTimePerSample = 0.56715ms; SamplesPerSecond = 1763
Epoch[ 2 of 4]-Minibatch[ 101- 110 of 160]: * 5120; ce = 1.11828995; err = 0.34199219; TotalTime = 2.37363s; TotalTimePerSample = 0.46360ms; SamplesPerSecond = 2157
Epoch[ 2 of 4]-Minibatch[ 111- 120 of 160]: * 5120; ce = 1.15714111; err = 0.35742188; TotalTime = 2.41495s; TotalTimePerSample = 0.47167ms; SamplesPerSecond = 2120
Epoch[ 2 of 4]-Minibatch[ 121- 130 of 160]: * 5120; ce = 1.06128235; err = 0.32871094; TotalTime = 2.42177s; TotalTimePerSample = 0.47300ms; SamplesPerSecond = 2114
Epoch[ 2 of 4]-Minibatch[ 131- 140 of 160]: * 5120; ce = 1.03393250; err = 0.32167969; TotalTime = 2.86138s; TotalTimePerSample = 0.55886ms; SamplesPerSecond = 1789
Epoch[ 2 of 4]-Minibatch[ 141- 150 of 160]: * 5120; ce = 1.09766846; err = 0.33828125; TotalTime = 2.49456s; TotalTimePerSample = 0.48722ms; SamplesPerSecond = 2052
Epoch[ 2 of 4]-Minibatch[ 151- 160 of 160]: * 5120; ce = 1.07232513; err = 0.32617188; TotalTime = 2.62645s; TotalTimePerSample = 0.51298ms; SamplesPerSecond = 1949
Finished Epoch[ 2 of 4]: [Training] ce = 1.119926; err = 0.34335938; learningRatePerSample = 0.003125000047; EpochTime=40.972593
Starting Epoch 3: learning rate per sample = 0.003125 effective momentum = 0.810210
minibatchiterator: epoch 2: frames [163840..245760] (first utterance at frame 163840), data subset 0 of 1, with 1 datapasses
Starting minibatch loop.
Epoch[ 3 of 4]-Minibatch[ 1- 10 of 160]: * 5120; CrossEntropyWithSoftmax = 1.12369976; EvalErrorPrediction = 0.34121094; TotalTime = 2.71170s; TotalTimePerSample = 0.52963ms; SamplesPerSecond = 1888
Epoch[ 3 of 4]-Minibatch[ 11- 20 of 160]: * 5120; CrossEntropyWithSoftmax = 1.08172264; EvalErrorPrediction = 0.33535156; TotalTime = 3.00751s; TotalTimePerSample = 0.58741ms; SamplesPerSecond = 1702
Epoch[ 3 of 4]-Minibatch[ 21- 30 of 160]: * 5120; CrossEntropyWithSoftmax = 1.06359730; EvalErrorPrediction = 0.32871094; TotalTime = 2.41305s; TotalTimePerSample = 0.47130ms; SamplesPerSecond = 2121
Epoch[ 3 of 4]-Minibatch[ 31- 40 of 160]: * 5120; CrossEntropyWithSoftmax = 1.09275322; EvalErrorPrediction = 0.34023437; TotalTime = 2.38985s; TotalTimePerSample = 0.46677ms; SamplesPerSecond = 2142
Epoch[ 3 of 4]-Minibatch[ 41- 50 of 160]: * 5120; CrossEntropyWithSoftmax = 1.06271973; EvalErrorPrediction = 0.32773438; TotalTime = 2.45865s; TotalTimePerSample = 0.48021ms; SamplesPerSecond = 2082
Epoch[ 3 of 4]-Minibatch[ 51- 60 of 160]: * 5120; CrossEntropyWithSoftmax = 1.05469666; EvalErrorPrediction = 0.33300781; TotalTime = 2.79982s; TotalTimePerSample = 0.54684ms; SamplesPerSecond = 1828
Epoch[ 3 of 4]-Minibatch[ 61- 70 of 160]: * 5120; CrossEntropyWithSoftmax = 1.09982071; EvalErrorPrediction = 0.33613281; TotalTime = 2.28760s; TotalTimePerSample = 0.44680ms; SamplesPerSecond = 2238
Epoch[ 3 of 4]-Minibatch[ 71- 80 of 160]: * 5120; CrossEntropyWithSoftmax = 1.08198242; EvalErrorPrediction = 0.32695313; TotalTime = 2.27461s; TotalTimePerSample = 0.44426ms; SamplesPerSecond = 2250
Epoch[ 3 of 4]-Minibatch[ 81- 90 of 160]: * 5120; CrossEntropyWithSoftmax = 1.04190979; EvalErrorPrediction = 0.32617188; TotalTime = 2.41349s; TotalTimePerSample = 0.47138ms; SamplesPerSecond = 2121
Epoch[ 3 of 4]-Minibatch[ 91- 100 of 160]: * 5120; CrossEntropyWithSoftmax = 1.05153503; EvalErrorPrediction = 0.32187500; TotalTime = 2.94621s; TotalTimePerSample = 0.57543ms; SamplesPerSecond = 1737
Epoch[ 3 of 4]-Minibatch[ 101- 110 of 160]: * 5120; CrossEntropyWithSoftmax = 1.04438324; EvalErrorPrediction = 0.32597656; TotalTime = 2.49370s; TotalTimePerSample = 0.48705ms; SamplesPerSecond = 2053
Epoch[ 3 of 4]-Minibatch[ 111- 120 of 160]: * 5120; CrossEntropyWithSoftmax = 1.09297791; EvalErrorPrediction = 0.33476563; TotalTime = 2.44252s; TotalTimePerSample = 0.47705ms; SamplesPerSecond = 2096
Epoch[ 3 of 4]-Minibatch[ 121- 130 of 160]: * 5120; CrossEntropyWithSoftmax = 1.11578674; EvalErrorPrediction = 0.33554688; TotalTime = 2.41458s; TotalTimePerSample = 0.47160ms; SamplesPerSecond = 2120
Epoch[ 3 of 4]-Minibatch[ 131- 140 of 160]: * 5120; CrossEntropyWithSoftmax = 1.06495667; EvalErrorPrediction = 0.32539062; TotalTime = 2.80408s; TotalTimePerSample = 0.54767ms; SamplesPerSecond = 1825
Epoch[ 3 of 4]-Minibatch[ 141- 150 of 160]: * 5120; CrossEntropyWithSoftmax = 1.06517181; EvalErrorPrediction = 0.33945313; TotalTime = 2.51803s; TotalTimePerSample = 0.49180ms; SamplesPerSecond = 2033
Epoch[ 3 of 4]-Minibatch[ 151- 160 of 160]: * 5120; CrossEntropyWithSoftmax = 1.05488586; EvalErrorPrediction = 0.32402344; TotalTime = 2.71141s; TotalTimePerSample = 0.52957ms; SamplesPerSecond = 1888
Finished Epoch[ 3 of 4]: [Training] CrossEntropyWithSoftmax = 1.0745375; EvalErrorPrediction = 0.33140871; learningRatePerSample = 0.003125000047; EpochTime=41.133271
Epoch[ 3 of 4]-Minibatch[ 1- 10 of 160]: * 5120; ce = 1.12369976; err = 0.34121094; TotalTime = 2.71170s; TotalTimePerSample = 0.52963ms; SamplesPerSecond = 1888
Epoch[ 3 of 4]-Minibatch[ 11- 20 of 160]: * 5120; ce = 1.08172264; err = 0.33535156; TotalTime = 3.00751s; TotalTimePerSample = 0.58741ms; SamplesPerSecond = 1702
Epoch[ 3 of 4]-Minibatch[ 21- 30 of 160]: * 5120; ce = 1.06359730; err = 0.32871094; TotalTime = 2.41305s; TotalTimePerSample = 0.47130ms; SamplesPerSecond = 2121
Epoch[ 3 of 4]-Minibatch[ 31- 40 of 160]: * 5120; ce = 1.09275322; err = 0.34023437; TotalTime = 2.38985s; TotalTimePerSample = 0.46677ms; SamplesPerSecond = 2142
Epoch[ 3 of 4]-Minibatch[ 41- 50 of 160]: * 5120; ce = 1.06271973; err = 0.32773438; TotalTime = 2.45865s; TotalTimePerSample = 0.48021ms; SamplesPerSecond = 2082
Epoch[ 3 of 4]-Minibatch[ 51- 60 of 160]: * 5120; ce = 1.05469666; err = 0.33300781; TotalTime = 2.79982s; TotalTimePerSample = 0.54684ms; SamplesPerSecond = 1828
Epoch[ 3 of 4]-Minibatch[ 61- 70 of 160]: * 5120; ce = 1.09982071; err = 0.33613281; TotalTime = 2.28760s; TotalTimePerSample = 0.44680ms; SamplesPerSecond = 2238
Epoch[ 3 of 4]-Minibatch[ 71- 80 of 160]: * 5120; ce = 1.08198242; err = 0.32695313; TotalTime = 2.27461s; TotalTimePerSample = 0.44426ms; SamplesPerSecond = 2250
Epoch[ 3 of 4]-Minibatch[ 81- 90 of 160]: * 5120; ce = 1.04190979; err = 0.32617188; TotalTime = 2.41349s; TotalTimePerSample = 0.47138ms; SamplesPerSecond = 2121
Epoch[ 3 of 4]-Minibatch[ 91- 100 of 160]: * 5120; ce = 1.05153503; err = 0.32187500; TotalTime = 2.94621s; TotalTimePerSample = 0.57543ms; SamplesPerSecond = 1737
Epoch[ 3 of 4]-Minibatch[ 101- 110 of 160]: * 5120; ce = 1.04438324; err = 0.32597656; TotalTime = 2.49370s; TotalTimePerSample = 0.48705ms; SamplesPerSecond = 2053
Epoch[ 3 of 4]-Minibatch[ 111- 120 of 160]: * 5120; ce = 1.09297791; err = 0.33476563; TotalTime = 2.44252s; TotalTimePerSample = 0.47705ms; SamplesPerSecond = 2096
Epoch[ 3 of 4]-Minibatch[ 121- 130 of 160]: * 5120; ce = 1.11578674; err = 0.33554688; TotalTime = 2.41458s; TotalTimePerSample = 0.47160ms; SamplesPerSecond = 2120
Epoch[ 3 of 4]-Minibatch[ 131- 140 of 160]: * 5120; ce = 1.06495667; err = 0.32539062; TotalTime = 2.80408s; TotalTimePerSample = 0.54767ms; SamplesPerSecond = 1825
Epoch[ 3 of 4]-Minibatch[ 141- 150 of 160]: * 5120; ce = 1.06517181; err = 0.33945313; TotalTime = 2.51803s; TotalTimePerSample = 0.49180ms; SamplesPerSecond = 2033
Epoch[ 3 of 4]-Minibatch[ 151- 160 of 160]: * 5120; ce = 1.05488586; err = 0.32402344; TotalTime = 2.71141s; TotalTimePerSample = 0.52957ms; SamplesPerSecond = 1888
Finished Epoch[ 3 of 4]: [Training] ce = 1.0745375; err = 0.33140871; learningRatePerSample = 0.003125000047; EpochTime=41.133271
Starting Epoch 4: learning rate per sample = 0.003125 effective momentum = 0.810210
minibatchiterator: epoch 3: frames [245760..327680] (first utterance at frame 245760), data subset 0 of 1, with 1 datapasses
Starting minibatch loop.
Epoch[ 4 of 4]-Minibatch[ 1- 10 of 160]: * 5120; CrossEntropyWithSoftmax = 1.03678217; EvalErrorPrediction = 0.32226563; TotalTime = 2.66643s; TotalTimePerSample = 0.52079ms; SamplesPerSecond = 1920
Epoch[ 4 of 4]-Minibatch[ 11- 20 of 160]: * 4926; CrossEntropyWithSoftmax = 1.04455462; EvalErrorPrediction = 0.32115307; TotalTime = 3.59836s; TotalTimePerSample = 0.73048ms; SamplesPerSecond = 1368
Epoch[ 4 of 4]-Minibatch[ 21- 30 of 160]: * 5120; CrossEntropyWithSoftmax = 1.01124554; EvalErrorPrediction = 0.31757812; TotalTime = 2.59429s; TotalTimePerSample = 0.50670ms; SamplesPerSecond = 1973
Epoch[ 4 of 4]-Minibatch[ 31- 40 of 160]: * 5120; CrossEntropyWithSoftmax = 1.00737896; EvalErrorPrediction = 0.31542969; TotalTime = 2.41720s; TotalTimePerSample = 0.47211ms; SamplesPerSecond = 2118
Epoch[ 4 of 4]-Minibatch[ 41- 50 of 160]: * 5120; CrossEntropyWithSoftmax = 1.00528069; EvalErrorPrediction = 0.31347656; TotalTime = 2.48426s; TotalTimePerSample = 0.48521ms; SamplesPerSecond = 2060
Epoch[ 4 of 4]-Minibatch[ 51- 60 of 160]: * 5120; CrossEntropyWithSoftmax = 0.99712868; EvalErrorPrediction = 0.30898437; TotalTime = 3.63720s; TotalTimePerSample = 0.71039ms; SamplesPerSecond = 1407
Epoch[ 4 of 4]-Minibatch[ 61- 70 of 160]: * 5120; CrossEntropyWithSoftmax = 0.99358406; EvalErrorPrediction = 0.30605469; TotalTime = 4.19525s; TotalTimePerSample = 0.81938ms; SamplesPerSecond = 1220
Epoch[ 4 of 4]-Minibatch[ 71- 80 of 160]: * 5120; CrossEntropyWithSoftmax = 1.02139435; EvalErrorPrediction = 0.31445313; TotalTime = 2.82677s; TotalTimePerSample = 0.55210ms; SamplesPerSecond = 1811
Epoch[ 4 of 4]-Minibatch[ 81- 90 of 160]: * 5120; CrossEntropyWithSoftmax = 1.00482025; EvalErrorPrediction = 0.31542969; TotalTime = 2.87430s; TotalTimePerSample = 0.56139ms; SamplesPerSecond = 1781
Epoch[ 4 of 4]-Minibatch[ 91- 100 of 160]: * 5120; CrossEntropyWithSoftmax = 0.97015762; EvalErrorPrediction = 0.31035156; TotalTime = 4.26995s; TotalTimePerSample = 0.83397ms; SamplesPerSecond = 1199
Epoch[ 4 of 4]-Minibatch[ 101- 110 of 160]: * 5120; CrossEntropyWithSoftmax = 0.99198990; EvalErrorPrediction = 0.30410156; TotalTime = 2.86275s; TotalTimePerSample = 0.55913ms; SamplesPerSecond = 1788
Epoch[ 4 of 4]-Minibatch[ 111- 120 of 160]: * 5120; CrossEntropyWithSoftmax = 0.99568176; EvalErrorPrediction = 0.30703125; TotalTime = 2.88755s; TotalTimePerSample = 0.56397ms; SamplesPerSecond = 1773
Epoch[ 4 of 4]-Minibatch[ 121- 130 of 160]: * 5120; CrossEntropyWithSoftmax = 1.01617508; EvalErrorPrediction = 0.31660156; TotalTime = 2.64123s; TotalTimePerSample = 0.51586ms; SamplesPerSecond = 1938
Epoch[ 4 of 4]-Minibatch[ 131- 140 of 160]: * 5120; CrossEntropyWithSoftmax = 0.98181610; EvalErrorPrediction = 0.30996094; TotalTime = 2.65385s; TotalTimePerSample = 0.51833ms; SamplesPerSecond = 1929
Epoch[ 4 of 4]-Minibatch[ 141- 150 of 160]: * 5120; CrossEntropyWithSoftmax = 0.94842072; EvalErrorPrediction = 0.30253906; TotalTime = 2.43389s; TotalTimePerSample = 0.47537ms; SamplesPerSecond = 2103
Epoch[ 4 of 4]-Minibatch[ 151- 160 of 160]: * 5120; CrossEntropyWithSoftmax = 0.96573181; EvalErrorPrediction = 0.30156250; TotalTime = 2.77351s; TotalTimePerSample = 0.54170ms; SamplesPerSecond = 1846
Finished Epoch[ 4 of 4]: [Training] CrossEntropyWithSoftmax = 0.9992947; EvalErrorPrediction = 0.31165773; learningRatePerSample = 0.003125000047; EpochTime=48.032169
Epoch[ 4 of 4]-Minibatch[ 1- 10 of 160]: * 5120; ce = 1.03678217; err = 0.32226563; TotalTime = 2.66643s; TotalTimePerSample = 0.52079ms; SamplesPerSecond = 1920
Epoch[ 4 of 4]-Minibatch[ 11- 20 of 160]: * 4926; ce = 1.04455462; err = 0.32115307; TotalTime = 3.59836s; TotalTimePerSample = 0.73048ms; SamplesPerSecond = 1368
Epoch[ 4 of 4]-Minibatch[ 21- 30 of 160]: * 5120; ce = 1.01124554; err = 0.31757812; TotalTime = 2.59429s; TotalTimePerSample = 0.50670ms; SamplesPerSecond = 1973
Epoch[ 4 of 4]-Minibatch[ 31- 40 of 160]: * 5120; ce = 1.00737896; err = 0.31542969; TotalTime = 2.41720s; TotalTimePerSample = 0.47211ms; SamplesPerSecond = 2118
Epoch[ 4 of 4]-Minibatch[ 41- 50 of 160]: * 5120; ce = 1.00528069; err = 0.31347656; TotalTime = 2.48426s; TotalTimePerSample = 0.48521ms; SamplesPerSecond = 2060
Epoch[ 4 of 4]-Minibatch[ 51- 60 of 160]: * 5120; ce = 0.99712868; err = 0.30898437; TotalTime = 3.63720s; TotalTimePerSample = 0.71039ms; SamplesPerSecond = 1407
Epoch[ 4 of 4]-Minibatch[ 61- 70 of 160]: * 5120; ce = 0.99358406; err = 0.30605469; TotalTime = 4.19525s; TotalTimePerSample = 0.81938ms; SamplesPerSecond = 1220
Epoch[ 4 of 4]-Minibatch[ 71- 80 of 160]: * 5120; ce = 1.02139435; err = 0.31445313; TotalTime = 2.82677s; TotalTimePerSample = 0.55210ms; SamplesPerSecond = 1811
Epoch[ 4 of 4]-Minibatch[ 81- 90 of 160]: * 5120; ce = 1.00482025; err = 0.31542969; TotalTime = 2.87430s; TotalTimePerSample = 0.56139ms; SamplesPerSecond = 1781
Epoch[ 4 of 4]-Minibatch[ 91- 100 of 160]: * 5120; ce = 0.97015762; err = 0.31035156; TotalTime = 4.26995s; TotalTimePerSample = 0.83397ms; SamplesPerSecond = 1199
Epoch[ 4 of 4]-Minibatch[ 101- 110 of 160]: * 5120; ce = 0.99198990; err = 0.30410156; TotalTime = 2.86275s; TotalTimePerSample = 0.55913ms; SamplesPerSecond = 1788
Epoch[ 4 of 4]-Minibatch[ 111- 120 of 160]: * 5120; ce = 0.99568176; err = 0.30703125; TotalTime = 2.88755s; TotalTimePerSample = 0.56397ms; SamplesPerSecond = 1773
Epoch[ 4 of 4]-Minibatch[ 121- 130 of 160]: * 5120; ce = 1.01617508; err = 0.31660156; TotalTime = 2.64123s; TotalTimePerSample = 0.51586ms; SamplesPerSecond = 1938
Epoch[ 4 of 4]-Minibatch[ 131- 140 of 160]: * 5120; ce = 0.98181610; err = 0.30996094; TotalTime = 2.65385s; TotalTimePerSample = 0.51833ms; SamplesPerSecond = 1929
Epoch[ 4 of 4]-Minibatch[ 141- 150 of 160]: * 5120; ce = 0.94842072; err = 0.30253906; TotalTime = 2.43389s; TotalTimePerSample = 0.47537ms; SamplesPerSecond = 2103
Epoch[ 4 of 4]-Minibatch[ 151- 160 of 160]: * 5120; ce = 0.96573181; err = 0.30156250; TotalTime = 2.77351s; TotalTimePerSample = 0.54170ms; SamplesPerSecond = 1846
Finished Epoch[ 4 of 4]: [Training] ce = 0.9992947; err = 0.31165773; learningRatePerSample = 0.003125000047; EpochTime=48.032169
CNTKCommandTrainEnd: speechTrain
__COMPLETED__

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -5,5 +5,11 @@
OriginalTestDir=../../../DNN/DiscriminativePreTraining
ConfigDir=$TEST_DIR/$OriginalTestDir
(cd $TEST_DIR/$OriginalTestDir && md5sum baseline*) | (cd $TEST_DIR && md5sum --status -c -)
if [ $? != 0 ]; then
echo Error: Baselines must match original test. Copy from $OriginalTestDir.
exit 1
fi
# cntkrun <CNTK config file name> <additional CNTK args>
cntkrun cntk_dpt.cntk 'reader=[readerType=ExperimentalHTKMLFReader] reader=[prefetch=true]' || exit $?

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -8,6 +8,12 @@ LogFileName=stderr
Instances=3
NumCPUThreads=$(threadsPerInstance $Instances)
(cd $TEST_DIR/$OriginalTestDir && md5sum baseline*) | (cd $TEST_DIR && md5sum --status -c -)
if [ $? != 0 ]; then
echo Error: Baselines must match original test. Copy from $OriginalTestDir.
exit 1
fi
# cntkmpirun <MPI args> <CNTK config file name> <additional CNTK args>
cntkmpirun "-n $Instances" cntk.cntk "speechTrain=[reader=[readerType=ExperimentalHTKMLFReader]] speechTrain=[reader=[prefetch=true]] numCPUThreads=$NumCPUThreads precision=double speechTrain=[SGD=[ParallelTrain=[DataParallelSGD=[gradientBits=1]]]] speechTrain=[SGD=[ParallelTrain=[parallelizationStartEpoch=2]]]"
ExitCode=$?

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -8,6 +8,12 @@ LogFileName=stderr
Instances=3
NumCPUThreads=$(threadsPerInstance $Instances)
(cd $TEST_DIR/$OriginalTestDir && md5sum baseline*) | (cd $TEST_DIR && md5sum --status -c -)
if [ $? != 0 ]; then
echo Error: Baselines must match original test. Copy from $OriginalTestDir.
exit 1
fi
# cntkmpirun <MPI args> <CNTK config file name> <additional CNTK args>
cntkmpirun "-n $Instances" cntk.cntk "speechTrain=[reader=[readerType=ExperimentalHTKMLFReader]] speechTrain=[reader=[prefetch=true]] numCPUThreads=$NumCPUThreads precision=double speechTrain=[SGD=[ParallelTrain=[DataParallelSGD=[gradientBits=1]]]] speechTrain=[SGD=[ParallelTrain=[DataParallelSGD=[useBufferedAsyncGradientAggregation=true]]]] speechTrain=[SGD=[ParallelTrain=[parallelizationStartEpoch=2]]] speechTrain=[SGD=[maxEpochs=4]] speechTrain=[SGD=[ParallelTrain=[syncPerfStats=5]]]"
ExitCode=$?

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -8,6 +8,12 @@ LogFileName=stderr
Instances=3
NumCPUThreads=$(threadsPerInstance $Instances)
(cd $TEST_DIR/$OriginalTestDir && md5sum baseline*) | (cd $TEST_DIR && md5sum --status -c -)
if [ $? != 0 ]; then
echo Error: Baselines must match original test. Copy from $OriginalTestDir.
exit 1
fi
# cntkmpirun <MPI args> <CNTK config file name> <additional CNTK args>
cntkmpirun "-n $Instances" cntk.cntk "speechTrain=[reader=[readerType=ExperimentalHTKMLFReader]] speechTrain=[reader=[prefetch=true]] numCPUThreads=$NumCPUThreads"
ExitCode=$?

Просмотреть файл

@ -8,6 +8,12 @@ LogFileName=stderr
Instances=3
NumCPUThreads=$(threadsPerInstance $Instances)
(cd $TEST_DIR/$OriginalTestDir && md5sum baseline*) | (cd $TEST_DIR && md5sum --status -c -)
if [ $? != 0 ]; then
echo Error: Baselines must match original test. Copy from $OriginalTestDir.
exit 1
fi
# cntkmpirun <MPI args> <CNTK config file name> <additional CNTK args>
cntkmpirun "-n $Instances" cntk.cntk "speechTrain=[reader=[readerType=ExperimentalHTKMLFReader]] speechTrain=[reader=[prefetch=true]] numCPUThreads=$NumCPUThreads precision=double speechTrain=[SGD=[ParallelTrain=[DataParallelSGD=[gradientBits=64]]]] speechTrain=[SGD=[ParallelTrain=[DataParallelSGD=[useBufferedAsyncGradientAggregation=true]]]] speechTrain=[SGD=[ParallelTrain=[parallelizationStartEpoch=2]]] speechTrain=[SGD=[maxEpochs=4]] speechTrain=[SGD=[ParallelTrain=[syncPerfStats=5]]]"
ExitCode=$?

Просмотреть файл

@ -7,7 +7,7 @@ ConfigDir=$TEST_DIR/../../../LSTM
(cd $TEST_DIR/$OriginalTestDir && md5sum baseline*) | (cd $TEST_DIR && md5sum --status -c -)
if [ $? != 0 ]; then
echo Error: Baselines must match original test.
echo Error: Baselines must match original test. Copy from $OriginalTestDir.
exit 1
fi

Просмотреть файл

@ -1,4 +1,4 @@
=== Running /home/philly/jenkins/workspace/CNTK-Test-Linux-W1/build/gpu/release/bin/cntk configFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E/cntk.cntk currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data RunDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E OutputDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu DeviceId=-1 timestamping=true speechTrain=[reader=[readerType=ExperimentalHTKMLFReader]]
=== Running /home/philly/jenkins/workspace/CNTK-Test-Linux-W1/build/gpu/release/bin/cntk configFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E/cntk.cntk currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data RunDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E OutputDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu DeviceId=-1 timestamping=true
-------------------------------------------------------------------
Build info:
@ -17,32 +17,32 @@ Build info:
Build Path: /home/philly/jenkins/workspace/CNTK-Build-Linux
-------------------------------------------------------------------
Changed current directory to /home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
05/03/2016 18:18:00: -------------------------------------------------------------------
05/03/2016 18:18:00: Build info:
05/03/2016 18:18:38: -------------------------------------------------------------------
05/03/2016 18:18:38: Build info:
05/03/2016 18:18:00: Built time: May 3 2016 17:56:15
05/03/2016 18:18:00: Last modified date: Tue May 3 11:36:22 2016
05/03/2016 18:18:00: Build type: release
05/03/2016 18:18:00: Build target: GPU
05/03/2016 18:18:00: With 1bit-SGD: no
05/03/2016 18:18:00: Math lib: acml
05/03/2016 18:18:00: CUDA_PATH: /usr/local/cuda-7.5
05/03/2016 18:18:00: CUB_PATH: /usr/local/cub-1.4.1
05/03/2016 18:18:00: CUDNN_PATH: /usr/local/cudnn-4.0
05/03/2016 18:18:00: Build Branch: HEAD
05/03/2016 18:18:00: Build SHA1: 571b092d60e131fd529081a5ed52af2dc815dc82
05/03/2016 18:18:00: Built by philly on 18750d26eb32
05/03/2016 18:18:00: Build Path: /home/philly/jenkins/workspace/CNTK-Build-Linux
05/03/2016 18:18:00: -------------------------------------------------------------------
05/03/2016 18:18:38: Built time: May 3 2016 17:56:15
05/03/2016 18:18:38: Last modified date: Tue May 3 11:36:22 2016
05/03/2016 18:18:38: Build type: release
05/03/2016 18:18:38: Build target: GPU
05/03/2016 18:18:38: With 1bit-SGD: no
05/03/2016 18:18:38: Math lib: acml
05/03/2016 18:18:38: CUDA_PATH: /usr/local/cuda-7.5
05/03/2016 18:18:38: CUB_PATH: /usr/local/cub-1.4.1
05/03/2016 18:18:38: CUDNN_PATH: /usr/local/cudnn-4.0
05/03/2016 18:18:38: Build Branch: HEAD
05/03/2016 18:18:38: Build SHA1: 571b092d60e131fd529081a5ed52af2dc815dc82
05/03/2016 18:18:38: Built by philly on 18750d26eb32
05/03/2016 18:18:38: Build Path: /home/philly/jenkins/workspace/CNTK-Build-Linux
05/03/2016 18:18:38: -------------------------------------------------------------------
05/03/2016 18:18:00: Running on localhost at 2016/05/03 18:18:00
05/03/2016 18:18:00: Command line:
/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/build/gpu/release/bin/cntk configFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E/cntk.cntk currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data RunDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E OutputDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu DeviceId=-1 timestamping=true speechTrain=[reader=[readerType=ExperimentalHTKMLFReader]]
05/03/2016 18:18:38: Running on localhost at 2016/05/03 18:18:38
05/03/2016 18:18:38: Command line:
/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/build/gpu/release/bin/cntk configFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E/cntk.cntk currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data RunDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E OutputDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu DeviceId=-1 timestamping=true
05/03/2016 18:18:00: >>>>>>>>>>>>>>>>>>>> RAW CONFIG (VARIABLES NOT RESOLVED) >>>>>>>>>>>>>>>>>>>>
05/03/2016 18:18:00: precision = "float"
05/03/2016 18:18:38: >>>>>>>>>>>>>>>>>>>> RAW CONFIG (VARIABLES NOT RESOLVED) >>>>>>>>>>>>>>>>>>>>
05/03/2016 18:18:38: precision = "float"
command = speechTrain
deviceId = $DeviceId$
parallelTrain = false
@ -128,25 +128,24 @@ speechTrain = [
]
]
currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
RunDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu
RunDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu
DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E
OutputDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu
ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E
OutputDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu
DeviceId=-1
timestamping=true
speechTrain=[reader=[readerType=ExperimentalHTKMLFReader]]
05/03/2016 18:18:00: <<<<<<<<<<<<<<<<<<<< RAW CONFIG (VARIABLES NOT RESOLVED) <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:18:38: <<<<<<<<<<<<<<<<<<<< RAW CONFIG (VARIABLES NOT RESOLVED) <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:18:00: >>>>>>>>>>>>>>>>>>>> RAW CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
05/03/2016 18:18:00: precision = "float"
05/03/2016 18:18:38: >>>>>>>>>>>>>>>>>>>> RAW CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
05/03/2016 18:18:38: precision = "float"
command = speechTrain
deviceId = -1
parallelTrain = false
makeMode = false
speechTrain = [
action = "train"
modelPath = "/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu/models/cntkSpeech.dnn"
modelPath = "/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu/models/cntkSpeech.dnn"
deviceId = -1
traceLevel = 1
SimpleNetworkBuilder = [
@ -225,30 +224,29 @@ speechTrain = [
]
]
currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
RunDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu
RunDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu
DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E
OutputDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu
ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E
OutputDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu
DeviceId=-1
timestamping=true
speechTrain=[reader=[readerType=ExperimentalHTKMLFReader]]
05/03/2016 18:18:00: <<<<<<<<<<<<<<<<<<<< RAW CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:18:38: <<<<<<<<<<<<<<<<<<<< RAW CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:18:00: >>>>>>>>>>>>>>>>>>>> PROCESSED CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
05/03/2016 18:18:38: >>>>>>>>>>>>>>>>>>>> PROCESSED CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
configparameters: cntk.cntk:command=speechTrain
configparameters: cntk.cntk:ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E
configparameters: cntk.cntk:ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E
configparameters: cntk.cntk:currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
configparameters: cntk.cntk:DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
configparameters: cntk.cntk:deviceId=-1
configparameters: cntk.cntk:makeMode=false
configparameters: cntk.cntk:OutputDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu
configparameters: cntk.cntk:OutputDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu
configparameters: cntk.cntk:parallelTrain=false
configparameters: cntk.cntk:precision=float
configparameters: cntk.cntk:RunDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu
configparameters: cntk.cntk:RunDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu
configparameters: cntk.cntk:speechTrain=[
action = "train"
modelPath = "/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu/models/cntkSpeech.dnn"
modelPath = "/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu/models/cntkSpeech.dnn"
deviceId = -1
traceLevel = 1
SimpleNetworkBuilder = [
@ -325,33 +323,32 @@ configparameters: cntk.cntk:speechTrain=[
labelType = "category"
]
]
] [reader=[readerType=ExperimentalHTKMLFReader]]
]
configparameters: cntk.cntk:timestamping=true
05/03/2016 18:18:00: <<<<<<<<<<<<<<<<<<<< PROCESSED CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:18:00: Commands: speechTrain
05/03/2016 18:18:00: Precision = "float"
05/03/2016 18:18:00: CNTKModelPath: /tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu/models/cntkSpeech.dnn
05/03/2016 18:18:00: CNTKCommandTrainInfo: speechTrain : 3
05/03/2016 18:18:00: CNTKCommandTrainInfo: CNTKNoMoreCommands_Total : 3
05/03/2016 18:18:38: <<<<<<<<<<<<<<<<<<<< PROCESSED CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:18:38: Commands: speechTrain
05/03/2016 18:18:38: Precision = "float"
05/03/2016 18:18:38: CNTKModelPath: /tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu/models/cntkSpeech.dnn
05/03/2016 18:18:38: CNTKCommandTrainInfo: speechTrain : 3
05/03/2016 18:18:38: CNTKCommandTrainInfo: CNTKNoMoreCommands_Total : 3
05/03/2016 18:18:00: ##############################################################################
05/03/2016 18:18:00: # #
05/03/2016 18:18:00: # Action "train" #
05/03/2016 18:18:00: # #
05/03/2016 18:18:00: ##############################################################################
05/03/2016 18:18:38: ##############################################################################
05/03/2016 18:18:38: # #
05/03/2016 18:18:38: # Action "train" #
05/03/2016 18:18:38: # #
05/03/2016 18:18:38: ##############################################################################
05/03/2016 18:18:00: CNTKCommandTrainBegin: speechTrain
05/03/2016 18:18:38: CNTKCommandTrainBegin: speechTrain
SimpleNetworkBuilder Using CPU
Reading script file glob_0000.scp ... 948 entries
HTKDataDeserializer::HTKDataDeserializer: 948 utterances grouped into 3 chunks, av. chunk size: 316.0 utterances, 84244.7 frames
HTKDataDeserializer::HTKDataDeserializer: determined feature kind as 363-dimensional 'USER' with frame shift 10.0 ms
reading script file glob_0000.scp ... 948 entries
total 132 state names in state list /home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data/state.list
htkmlfreader: reading MLF file /home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data/glob_0000.mlf ... total 948 entries
MLFDataDeserializer::MLFDataDeserializer: read 252734 sequences
MLFDataDeserializer::MLFDataDeserializer: read 948 utterances
...............................................................................................feature set 0: 252734 frames in 948 out of 948 utterances
label set 0: 129 classes
minibatchutterancesource: 948 utterances grouped into 3 chunks, av. chunk size: 316.0 utterances, 84244.7 frames
05/03/2016 18:18:00: Creating virgin network.
05/03/2016 18:18:38: Creating virgin network.
Post-processing network...
@ -403,14 +400,14 @@ Validating network, final pass.
Post-processing network complete.
05/03/2016 18:18:00: Created model with 25 nodes on CPU.
05/03/2016 18:18:38: Created model with 25 nodes on CPU.
05/03/2016 18:18:00: Training criterion node(s):
05/03/2016 18:18:00: CrossEntropyWithSoftmax = CrossEntropyWithSoftmax
05/03/2016 18:18:38: Training criterion node(s):
05/03/2016 18:18:38: CrossEntropyWithSoftmax = CrossEntropyWithSoftmax
05/03/2016 18:18:00: Evaluation criterion node(s):
05/03/2016 18:18:38: Evaluation criterion node(s):
05/03/2016 18:18:00: EvalErrorPrediction = ErrorPrediction
05/03/2016 18:18:38: EvalErrorPrediction = ErrorPrediction
Allocating matrices for forward and/or backward propagation.
@ -418,112 +415,117 @@ Allocating matrices for forward and/or backward propagation.
Memory Sharing Structure:
(nil): {[EvalErrorPrediction Gradient[1]] [InvStdOfFeatures Gradient[363]] [LogOfPrior Gradient[132]] [MVNormalizedFeatures Gradient[363 x *]] [MeanOfFeatures Gradient[363]] [PosteriorProb Gradient[132 x 1 x *]] [PosteriorProb Value[132 x 1 x *]] [Prior Gradient[132]] [ScaledLogLikelihood Gradient[132 x 1 x *]] [features Gradient[363 x *]] [labels Gradient[132 x *]] }
0xfa4f78: {[W2 Value[132 x 512]] }
0xfb95f8: {[CrossEntropyWithSoftmax Value[1]] }
0xfb9878: {[W0*features Value[512 x *]] }
0xfc8998: {[B2 Value[132 x 1]] }
0xfe3868: {[MVNormalizedFeatures Value[363 x *]] }
0xfe39a8: {[LogOfPrior Value[132]] }
0x1044b38: {[B1 Value[512 x 1]] }
0x104ac18: {[H1 Value[512 x 1 x *]] [W0*features Gradient[512 x *]] }
0x104add8: {[W0*features+B0 Gradient[512 x 1 x *]] [W1*H1 Value[512 x 1 x *]] }
0x106bae8: {[InvStdOfFeatures Value[363]] }
0x1072f98: {[HLast Value[132 x 1 x *]] [W2 Gradient[132 x 512]] }
0x108b8a8: {[labels Value[132 x *]] }
0x108ff18: {[W1 Value[512 x 512]] }
0x1095e98: {[W0 Value[512 x 363]] }
0x10bbc58: {[features Value[363 x *]] }
0x10c1fd8: {[B0 Value[512 x 1]] }
0x10cdf28: {[EvalErrorPrediction Value[1]] }
0x10ce0e8: {[ScaledLogLikelihood Value[132 x 1 x *]] }
0x10cea18: {[MeanOfFeatures Value[363]] }
0x10d8788: {[W1 Gradient[512 x 512]] [W1*H1+B1 Value[512 x 1 x *]] }
0x10d8948: {[H2 Value[512 x 1 x *]] [W1*H1 Gradient[512 x 1 x *]] }
0x10d8b08: {[B0 Gradient[512 x 1]] [H1 Gradient[512 x 1 x *]] [W1*H1+B1 Gradient[512 x 1 x *]] [W2*H1 Value[132 x 1 x *]] }
0x10db288: {[W0 Gradient[512 x 363]] [W0*features+B0 Value[512 x 1 x *]] }
0x10db628: {[CrossEntropyWithSoftmax Gradient[1]] }
0x10db7e8: {[B1 Gradient[512 x 1]] [H2 Gradient[512 x 1 x *]] [HLast Gradient[132 x 1 x *]] }
0x10db9a8: {[W2*H1 Gradient[132 x 1 x *]] }
0x10dbb68: {[B2 Gradient[132 x 1]] }
0x10dbe08: {[Prior Value[132]] }
0x1381e08: {[W2 Value[132 x 512]] }
0x1381f08: {[B2 Value[132 x 1]] }
0x1385b78: {[InvStdOfFeatures Value[363]] }
0x13866a8: {[MeanOfFeatures Value[363]] }
0x1386858: {[W1 Value[512 x 512]] }
0x138a4f8: {[B1 Value[512 x 1]] }
0x138d288: {[features Value[363 x *]] }
0x13da588: {[MVNormalizedFeatures Value[363 x *]] }
0x13dee18: {[EvalErrorPrediction Value[1]] }
0x13e1868: {[W1 Gradient[512 x 512]] [W1*H1+B1 Value[512 x 1 x *]] }
0x13e1a28: {[H2 Value[512 x 1 x *]] [W1*H1 Gradient[512 x 1 x *]] }
0x13e1be8: {[B0 Gradient[512 x 1]] [H1 Gradient[512 x 1 x *]] [W1*H1+B1 Gradient[512 x 1 x *]] [W2*H1 Value[132 x 1 x *]] }
0x13e1da8: {[HLast Value[132 x 1 x *]] [W2 Gradient[132 x 512]] }
0x1426628: {[W0 Value[512 x 363]] }
0x1454828: {[B0 Value[512 x 1]] }
0x148f0c8: {[W0 Gradient[512 x 363]] [W0*features+B0 Value[512 x 1 x *]] }
0x148f2d8: {[H1 Value[512 x 1 x *]] [W0*features Gradient[512 x *]] }
0x148f498: {[W0*features+B0 Gradient[512 x 1 x *]] [W1*H1 Value[512 x 1 x *]] }
0x14a5828: {[W2*H1 Gradient[132 x 1 x *]] }
0x14a59e8: {[B2 Gradient[132 x 1]] }
0x14a7318: {[CrossEntropyWithSoftmax Gradient[1]] }
0x14a74d8: {[B1 Gradient[512 x 1]] [H2 Gradient[512 x 1 x *]] [HLast Gradient[132 x 1 x *]] }
0x14a8ac8: {[ScaledLogLikelihood Value[132 x 1 x *]] }
0x14a8c88: {[CrossEntropyWithSoftmax Value[1]] }
0x14ae858: {[W0*features Value[512 x *]] }
0x14ae958: {[LogOfPrior Value[132]] }
0x14af3e8: {[labels Value[132 x *]] }
0x14afd28: {[Prior Value[132]] }
05/03/2016 18:18:00: Precomputing --> 3 PreCompute nodes found.
05/03/2016 18:18:38: Precomputing --> 3 PreCompute nodes found.
05/03/2016 18:18:00: MeanOfFeatures = Mean()
05/03/2016 18:18:00: InvStdOfFeatures = InvStdDev()
05/03/2016 18:18:00: Prior = Mean()
05/03/2016 18:18:38: MeanOfFeatures = Mean()
05/03/2016 18:18:38: InvStdOfFeatures = InvStdDev()
05/03/2016 18:18:38: Prior = Mean()
minibatchiterator: epoch 0: frames [0..252734] (first utterance at frame 0), data subset 0 of 1, with 1 datapasses
requiredata: determined feature kind as 33-dimensional 'USER' with frame shift 10.0 ms
05/03/2016 18:18:04: Precomputing --> Completed.
05/03/2016 18:18:39: Precomputing --> Completed.
05/03/2016 18:18:04: Starting Epoch 1: learning rate per sample = 0.015625 effective momentum = 0.900000 momentum as time constant = 607.4 samples
05/03/2016 18:18:39: Starting Epoch 1: learning rate per sample = 0.015625 effective momentum = 0.900000 momentum as time constant = 607.4 samples
minibatchiterator: epoch 0: frames [0..20480] (first utterance at frame 0), data subset 0 of 1, with 1 datapasses
05/03/2016 18:18:04: Starting minibatch loop.
05/03/2016 18:18:04: Epoch[ 1 of 3]-Minibatch[ 1- 10, 3.12%]: CrossEntropyWithSoftmax = 4.39181900 * 640; EvalErrorPrediction = 0.89843750 * 640; time = 0.2546s; samplesPerSecond = 2513.5
05/03/2016 18:18:04: Epoch[ 1 of 3]-Minibatch[ 11- 20, 6.25%]: CrossEntropyWithSoftmax = 4.16675568 * 640; EvalErrorPrediction = 0.87187500 * 640; time = 0.1455s; samplesPerSecond = 4397.5
05/03/2016 18:18:04: Epoch[ 1 of 3]-Minibatch[ 21- 30, 9.38%]: CrossEntropyWithSoftmax = 3.98684082 * 640; EvalErrorPrediction = 0.87812500 * 640; time = 0.0788s; samplesPerSecond = 8117.2
05/03/2016 18:18:04: Epoch[ 1 of 3]-Minibatch[ 31- 40, 12.50%]: CrossEntropyWithSoftmax = 3.86595383 * 640; EvalErrorPrediction = 0.87812500 * 640; time = 0.1143s; samplesPerSecond = 5598.0
05/03/2016 18:18:05: Epoch[ 1 of 3]-Minibatch[ 41- 50, 15.62%]: CrossEntropyWithSoftmax = 3.81007080 * 640; EvalErrorPrediction = 0.88593750 * 640; time = 0.1319s; samplesPerSecond = 4852.8
05/03/2016 18:18:05: Epoch[ 1 of 3]-Minibatch[ 51- 60, 18.75%]: CrossEntropyWithSoftmax = 3.73428192 * 640; EvalErrorPrediction = 0.87656250 * 640; time = 0.1725s; samplesPerSecond = 3710.1
05/03/2016 18:18:05: Epoch[ 1 of 3]-Minibatch[ 61- 70, 21.88%]: CrossEntropyWithSoftmax = 3.57475586 * 640; EvalErrorPrediction = 0.81875000 * 640; time = 0.0770s; samplesPerSecond = 8315.4
05/03/2016 18:18:05: Epoch[ 1 of 3]-Minibatch[ 71- 80, 25.00%]: CrossEntropyWithSoftmax = 3.43591919 * 640; EvalErrorPrediction = 0.80781250 * 640; time = 0.0918s; samplesPerSecond = 6971.2
05/03/2016 18:18:05: Epoch[ 1 of 3]-Minibatch[ 81- 90, 28.12%]: CrossEntropyWithSoftmax = 3.36042786 * 640; EvalErrorPrediction = 0.77343750 * 640; time = 0.1240s; samplesPerSecond = 5162.2
05/03/2016 18:18:05: Epoch[ 1 of 3]-Minibatch[ 91- 100, 31.25%]: CrossEntropyWithSoftmax = 3.39383850 * 640; EvalErrorPrediction = 0.85156250 * 640; time = 0.0852s; samplesPerSecond = 7509.6
05/03/2016 18:18:05: Epoch[ 1 of 3]-Minibatch[ 101- 110, 34.38%]: CrossEntropyWithSoftmax = 3.25078430 * 640; EvalErrorPrediction = 0.76406250 * 640; time = 0.0958s; samplesPerSecond = 6680.3
05/03/2016 18:18:05: Epoch[ 1 of 3]-Minibatch[ 111- 120, 37.50%]: CrossEntropyWithSoftmax = 3.35325317 * 640; EvalErrorPrediction = 0.79375000 * 640; time = 0.0866s; samplesPerSecond = 7387.0
05/03/2016 18:18:05: Epoch[ 1 of 3]-Minibatch[ 121- 130, 40.62%]: CrossEntropyWithSoftmax = 3.19606934 * 640; EvalErrorPrediction = 0.76875000 * 640; time = 0.1067s; samplesPerSecond = 5996.0
05/03/2016 18:18:06: Epoch[ 1 of 3]-Minibatch[ 131- 140, 43.75%]: CrossEntropyWithSoftmax = 3.06110535 * 640; EvalErrorPrediction = 0.73125000 * 640; time = 0.1282s; samplesPerSecond = 4991.7
05/03/2016 18:18:06: Epoch[ 1 of 3]-Minibatch[ 141- 150, 46.88%]: CrossEntropyWithSoftmax = 3.05118713 * 640; EvalErrorPrediction = 0.75625000 * 640; time = 0.1014s; samplesPerSecond = 6310.2
05/03/2016 18:18:06: Epoch[ 1 of 3]-Minibatch[ 151- 160, 50.00%]: CrossEntropyWithSoftmax = 3.02474365 * 640; EvalErrorPrediction = 0.74062500 * 640; time = 0.1247s; samplesPerSecond = 5133.2
05/03/2016 18:18:06: Epoch[ 1 of 3]-Minibatch[ 161- 170, 53.12%]: CrossEntropyWithSoftmax = 2.89902954 * 640; EvalErrorPrediction = 0.70781250 * 640; time = 0.0935s; samplesPerSecond = 6841.8
05/03/2016 18:18:06: Epoch[ 1 of 3]-Minibatch[ 171- 180, 56.25%]: CrossEntropyWithSoftmax = 2.75173340 * 640; EvalErrorPrediction = 0.68125000 * 640; time = 0.0905s; samplesPerSecond = 7070.2
05/03/2016 18:18:06: Epoch[ 1 of 3]-Minibatch[ 181- 190, 59.38%]: CrossEntropyWithSoftmax = 2.83969116 * 640; EvalErrorPrediction = 0.71875000 * 640; time = 0.0954s; samplesPerSecond = 6711.4
05/03/2016 18:18:06: Epoch[ 1 of 3]-Minibatch[ 191- 200, 62.50%]: CrossEntropyWithSoftmax = 2.62870483 * 640; EvalErrorPrediction = 0.65468750 * 640; time = 0.1093s; samplesPerSecond = 5854.5
05/03/2016 18:18:06: Epoch[ 1 of 3]-Minibatch[ 201- 210, 65.62%]: CrossEntropyWithSoftmax = 2.66655273 * 640; EvalErrorPrediction = 0.67187500 * 640; time = 0.1071s; samplesPerSecond = 5978.4
05/03/2016 18:18:06: Epoch[ 1 of 3]-Minibatch[ 211- 220, 68.75%]: CrossEntropyWithSoftmax = 2.61327515 * 640; EvalErrorPrediction = 0.65937500 * 640; time = 0.1147s; samplesPerSecond = 5579.3
05/03/2016 18:18:06: Epoch[ 1 of 3]-Minibatch[ 221- 230, 71.88%]: CrossEntropyWithSoftmax = 2.53099976 * 640; EvalErrorPrediction = 0.63750000 * 640; time = 0.1295s; samplesPerSecond = 4942.8
05/03/2016 18:18:07: Epoch[ 1 of 3]-Minibatch[ 231- 240, 75.00%]: CrossEntropyWithSoftmax = 2.43747559 * 640; EvalErrorPrediction = 0.64375000 * 640; time = 0.1067s; samplesPerSecond = 5996.5
05/03/2016 18:18:07: Epoch[ 1 of 3]-Minibatch[ 241- 250, 78.12%]: CrossEntropyWithSoftmax = 2.41107178 * 640; EvalErrorPrediction = 0.65312500 * 640; time = 0.0903s; samplesPerSecond = 7087.1
05/03/2016 18:18:07: Epoch[ 1 of 3]-Minibatch[ 251- 260, 81.25%]: CrossEntropyWithSoftmax = 2.48898926 * 640; EvalErrorPrediction = 0.63750000 * 640; time = 0.3125s; samplesPerSecond = 2048.2
05/03/2016 18:18:07: Epoch[ 1 of 3]-Minibatch[ 261- 270, 84.38%]: CrossEntropyWithSoftmax = 2.34965820 * 640; EvalErrorPrediction = 0.61093750 * 640; time = 0.1393s; samplesPerSecond = 4593.6
05/03/2016 18:18:07: Epoch[ 1 of 3]-Minibatch[ 271- 280, 87.50%]: CrossEntropyWithSoftmax = 2.23708496 * 640; EvalErrorPrediction = 0.57812500 * 640; time = 0.1166s; samplesPerSecond = 5490.3
05/03/2016 18:18:07: Epoch[ 1 of 3]-Minibatch[ 281- 290, 90.62%]: CrossEntropyWithSoftmax = 2.33135376 * 640; EvalErrorPrediction = 0.62031250 * 640; time = 0.0950s; samplesPerSecond = 6737.5
05/03/2016 18:18:07: Epoch[ 1 of 3]-Minibatch[ 291- 300, 93.75%]: CrossEntropyWithSoftmax = 2.21607666 * 640; EvalErrorPrediction = 0.62812500 * 640; time = 0.1283s; samplesPerSecond = 4987.1
05/03/2016 18:18:08: Epoch[ 1 of 3]-Minibatch[ 301- 310, 96.88%]: CrossEntropyWithSoftmax = 2.29110107 * 640; EvalErrorPrediction = 0.60625000 * 640; time = 0.1013s; samplesPerSecond = 6316.5
05/03/2016 18:18:08: Epoch[ 1 of 3]-Minibatch[ 311- 320, 100.00%]: CrossEntropyWithSoftmax = 2.20535278 * 640; EvalErrorPrediction = 0.57500000 * 640; time = 0.1259s; samplesPerSecond = 5082.8
05/03/2016 18:18:08: Finished Epoch[ 1 of 3]: [Training] CrossEntropyWithSoftmax = 3.01737366 * 20480; EvalErrorPrediction = 0.73061523 * 20480; totalSamplesSeen = 20480; learningRatePerSample = 0.015625; epochTime=3.94389s
05/03/2016 18:18:08: SGD: Saving checkpoint model '/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu/models/cntkSpeech.dnn.1'
05/03/2016 18:18:39: Starting minibatch loop.
05/03/2016 18:18:39: Epoch[ 1 of 3]-Minibatch[ 1- 10, 3.12%]: CrossEntropyWithSoftmax = 4.39181900 * 640; EvalErrorPrediction = 0.89843750 * 640; time = 0.0735s; samplesPerSecond = 8707.4
05/03/2016 18:18:39: Epoch[ 1 of 3]-Minibatch[ 11- 20, 6.25%]: CrossEntropyWithSoftmax = 4.16675568 * 640; EvalErrorPrediction = 0.87187500 * 640; time = 0.1005s; samplesPerSecond = 6370.4
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 21- 30, 9.38%]: CrossEntropyWithSoftmax = 3.98684082 * 640; EvalErrorPrediction = 0.87812500 * 640; time = 0.0829s; samplesPerSecond = 7720.1
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 31- 40, 12.50%]: CrossEntropyWithSoftmax = 3.86595383 * 640; EvalErrorPrediction = 0.87812500 * 640; time = 0.0518s; samplesPerSecond = 12362.8
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 41- 50, 15.62%]: CrossEntropyWithSoftmax = 3.81007080 * 640; EvalErrorPrediction = 0.88593750 * 640; time = 0.0514s; samplesPerSecond = 12451.8
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 51- 60, 18.75%]: CrossEntropyWithSoftmax = 3.73428192 * 640; EvalErrorPrediction = 0.87656250 * 640; time = 0.0516s; samplesPerSecond = 12413.4
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 61- 70, 21.88%]: CrossEntropyWithSoftmax = 3.57475586 * 640; EvalErrorPrediction = 0.81875000 * 640; time = 0.0511s; samplesPerSecond = 12525.7
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 71- 80, 25.00%]: CrossEntropyWithSoftmax = 3.43591919 * 640; EvalErrorPrediction = 0.80781250 * 640; time = 0.0514s; samplesPerSecond = 12439.5
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 81- 90, 28.12%]: CrossEntropyWithSoftmax = 3.36042786 * 640; EvalErrorPrediction = 0.77343750 * 640; time = 0.0513s; samplesPerSecond = 12483.2
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 91- 100, 31.25%]: CrossEntropyWithSoftmax = 3.39383850 * 640; EvalErrorPrediction = 0.85156250 * 640; time = 0.0513s; samplesPerSecond = 12470.5
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 101- 110, 34.38%]: CrossEntropyWithSoftmax = 3.25078430 * 640; EvalErrorPrediction = 0.76406250 * 640; time = 0.0523s; samplesPerSecond = 12242.2
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 111- 120, 37.50%]: CrossEntropyWithSoftmax = 3.35325317 * 640; EvalErrorPrediction = 0.79375000 * 640; time = 0.0530s; samplesPerSecond = 12069.1
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 121- 130, 40.62%]: CrossEntropyWithSoftmax = 3.19606934 * 640; EvalErrorPrediction = 0.76875000 * 640; time = 0.0519s; samplesPerSecond = 12332.4
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 131- 140, 43.75%]: CrossEntropyWithSoftmax = 3.06110535 * 640; EvalErrorPrediction = 0.73125000 * 640; time = 0.0513s; samplesPerSecond = 12480.0
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 141- 150, 46.88%]: CrossEntropyWithSoftmax = 3.05118713 * 640; EvalErrorPrediction = 0.75625000 * 640; time = 0.0876s; samplesPerSecond = 7307.6
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 151- 160, 50.00%]: CrossEntropyWithSoftmax = 3.02474365 * 640; EvalErrorPrediction = 0.74062500 * 640; time = 0.0515s; samplesPerSecond = 12429.4
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 161- 170, 53.12%]: CrossEntropyWithSoftmax = 2.89902954 * 640; EvalErrorPrediction = 0.70781250 * 640; time = 0.0516s; samplesPerSecond = 12405.5
05/03/2016 18:18:40: Epoch[ 1 of 3]-Minibatch[ 171- 180, 56.25%]: CrossEntropyWithSoftmax = 2.75173340 * 640; EvalErrorPrediction = 0.68125000 * 640; time = 0.0516s; samplesPerSecond = 12410.3
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 181- 190, 59.38%]: CrossEntropyWithSoftmax = 2.83969116 * 640; EvalErrorPrediction = 0.71875000 * 640; time = 0.1163s; samplesPerSecond = 5501.6
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 191- 200, 62.50%]: CrossEntropyWithSoftmax = 2.62870483 * 640; EvalErrorPrediction = 0.65468750 * 640; time = 0.0649s; samplesPerSecond = 9868.8
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 201- 210, 65.62%]: CrossEntropyWithSoftmax = 2.66655273 * 640; EvalErrorPrediction = 0.67187500 * 640; time = 0.0511s; samplesPerSecond = 12520.3
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 211- 220, 68.75%]: CrossEntropyWithSoftmax = 2.61327515 * 640; EvalErrorPrediction = 0.65937500 * 640; time = 0.0511s; samplesPerSecond = 12526.2
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 221- 230, 71.88%]: CrossEntropyWithSoftmax = 2.53099976 * 640; EvalErrorPrediction = 0.63750000 * 640; time = 0.0513s; samplesPerSecond = 12468.6
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 231- 240, 75.00%]: CrossEntropyWithSoftmax = 2.43747559 * 640; EvalErrorPrediction = 0.64375000 * 640; time = 0.0547s; samplesPerSecond = 11694.2
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 241- 250, 78.12%]: CrossEntropyWithSoftmax = 2.41107178 * 640; EvalErrorPrediction = 0.65312500 * 640; time = 0.0513s; samplesPerSecond = 12469.3
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 251- 260, 81.25%]: CrossEntropyWithSoftmax = 2.48898926 * 640; EvalErrorPrediction = 0.63750000 * 640; time = 0.0537s; samplesPerSecond = 11919.0
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 261- 270, 84.38%]: CrossEntropyWithSoftmax = 2.34965820 * 640; EvalErrorPrediction = 0.61093750 * 640; time = 0.0514s; samplesPerSecond = 12450.2
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 271- 280, 87.50%]: CrossEntropyWithSoftmax = 2.23708496 * 640; EvalErrorPrediction = 0.57812500 * 640; time = 0.0511s; samplesPerSecond = 12524.0
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 281- 290, 90.62%]: CrossEntropyWithSoftmax = 2.33135376 * 640; EvalErrorPrediction = 0.62031250 * 640; time = 0.0514s; samplesPerSecond = 12443.9
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 291- 300, 93.75%]: CrossEntropyWithSoftmax = 2.21607666 * 640; EvalErrorPrediction = 0.62812500 * 640; time = 0.0565s; samplesPerSecond = 11332.0
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 301- 310, 96.88%]: CrossEntropyWithSoftmax = 2.29110107 * 640; EvalErrorPrediction = 0.60625000 * 640; time = 0.0531s; samplesPerSecond = 12062.3
05/03/2016 18:18:41: Epoch[ 1 of 3]-Minibatch[ 311- 320, 100.00%]: CrossEntropyWithSoftmax = 2.20535278 * 640; EvalErrorPrediction = 0.57500000 * 640; time = 0.0519s; samplesPerSecond = 12326.9
05/03/2016 18:18:41: Finished Epoch[ 1 of 3]: [Training] CrossEntropyWithSoftmax = 3.01737366 * 20480; EvalErrorPrediction = 0.73061523 * 20480; totalSamplesSeen = 20480; learningRatePerSample = 0.015625; epochTime=1.88594s
05/03/2016 18:18:41: SGD: Saving checkpoint model '/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu/models/cntkSpeech.dnn.1'
05/03/2016 18:18:08: Starting Epoch 2: learning rate per sample = 0.001953 effective momentum = 0.656119 momentum as time constant = 607.5 samples
05/03/2016 18:18:41: Starting Epoch 2: learning rate per sample = 0.001953 effective momentum = 0.656119 momentum as time constant = 607.5 samples
minibatchiterator: epoch 1: frames [20480..40960] (first utterance at frame 20480), data subset 0 of 1, with 1 datapasses
05/03/2016 18:18:08: Starting minibatch loop.
05/03/2016 18:18:08: Epoch[ 2 of 3]-Minibatch[ 1- 10, 12.50%]: CrossEntropyWithSoftmax = 2.05711155 * 2560; EvalErrorPrediction = 0.55000000 * 2560; time = 0.1986s; samplesPerSecond = 12889.8
05/03/2016 18:18:08: Epoch[ 2 of 3]-Minibatch[ 11- 20, 25.00%]: CrossEntropyWithSoftmax = 2.02925396 * 2560; EvalErrorPrediction = 0.54648438 * 2560; time = 0.2552s; samplesPerSecond = 10031.0
05/03/2016 18:18:08: Epoch[ 2 of 3]-Minibatch[ 21- 30, 37.50%]: CrossEntropyWithSoftmax = 2.02826538 * 2560; EvalErrorPrediction = 0.54843750 * 2560; time = 0.2181s; samplesPerSecond = 11736.7
05/03/2016 18:18:09: Epoch[ 2 of 3]-Minibatch[ 31- 40, 50.00%]: CrossEntropyWithSoftmax = 1.97095795 * 2560; EvalErrorPrediction = 0.54140625 * 2560; time = 0.1814s; samplesPerSecond = 14113.3
05/03/2016 18:18:09: Epoch[ 2 of 3]-Minibatch[ 41- 50, 62.50%]: CrossEntropyWithSoftmax = 1.94550018 * 2560; EvalErrorPrediction = 0.53867188 * 2560; time = 0.2214s; samplesPerSecond = 11565.2
05/03/2016 18:18:09: Epoch[ 2 of 3]-Minibatch[ 51- 60, 75.00%]: CrossEntropyWithSoftmax = 2.01561737 * 2560; EvalErrorPrediction = 0.54414063 * 2560; time = 0.3224s; samplesPerSecond = 7940.8
05/03/2016 18:18:09: Epoch[ 2 of 3]-Minibatch[ 61- 70, 87.50%]: CrossEntropyWithSoftmax = 1.94069901 * 2560; EvalErrorPrediction = 0.52500000 * 2560; time = 0.2357s; samplesPerSecond = 10862.4
05/03/2016 18:18:10: Epoch[ 2 of 3]-Minibatch[ 71- 80, 100.00%]: CrossEntropyWithSoftmax = 1.94857330 * 2560; EvalErrorPrediction = 0.54023438 * 2560; time = 0.2088s; samplesPerSecond = 12260.2
05/03/2016 18:18:10: Finished Epoch[ 2 of 3]: [Training] CrossEntropyWithSoftmax = 1.99199734 * 20480; EvalErrorPrediction = 0.54179687 * 20480; totalSamplesSeen = 40960; learningRatePerSample = 0.001953125; epochTime=1.84574s
05/03/2016 18:18:10: SGD: Saving checkpoint model '/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu/models/cntkSpeech.dnn.2'
05/03/2016 18:18:41: Starting minibatch loop.
05/03/2016 18:18:41: Epoch[ 2 of 3]-Minibatch[ 1- 10, 12.50%]: CrossEntropyWithSoftmax = 2.05711155 * 2560; EvalErrorPrediction = 0.55000000 * 2560; time = 0.1738s; samplesPerSecond = 14733.1
05/03/2016 18:18:42: Epoch[ 2 of 3]-Minibatch[ 11- 20, 25.00%]: CrossEntropyWithSoftmax = 2.02925396 * 2560; EvalErrorPrediction = 0.54648438 * 2560; time = 0.1667s; samplesPerSecond = 15355.6
05/03/2016 18:18:42: Epoch[ 2 of 3]-Minibatch[ 21- 30, 37.50%]: CrossEntropyWithSoftmax = 2.02826538 * 2560; EvalErrorPrediction = 0.54843750 * 2560; time = 0.1568s; samplesPerSecond = 16327.2
05/03/2016 18:18:42: Epoch[ 2 of 3]-Minibatch[ 31- 40, 50.00%]: CrossEntropyWithSoftmax = 1.97095795 * 2560; EvalErrorPrediction = 0.54140625 * 2560; time = 0.2171s; samplesPerSecond = 11791.3
05/03/2016 18:18:42: Epoch[ 2 of 3]-Minibatch[ 41- 50, 62.50%]: CrossEntropyWithSoftmax = 1.94550018 * 2560; EvalErrorPrediction = 0.53867188 * 2560; time = 0.1636s; samplesPerSecond = 15644.3
05/03/2016 18:18:42: Epoch[ 2 of 3]-Minibatch[ 51- 60, 75.00%]: CrossEntropyWithSoftmax = 2.01561737 * 2560; EvalErrorPrediction = 0.54414063 * 2560; time = 0.1627s; samplesPerSecond = 15732.7
05/03/2016 18:18:42: Epoch[ 2 of 3]-Minibatch[ 61- 70, 87.50%]: CrossEntropyWithSoftmax = 1.94069901 * 2560; EvalErrorPrediction = 0.52500000 * 2560; time = 0.1746s; samplesPerSecond = 14665.6
05/03/2016 18:18:43: Epoch[ 2 of 3]-Minibatch[ 71- 80, 100.00%]: CrossEntropyWithSoftmax = 1.94857330 * 2560; EvalErrorPrediction = 0.54023438 * 2560; time = 0.1637s; samplesPerSecond = 15635.9
05/03/2016 18:18:43: Finished Epoch[ 2 of 3]: [Training] CrossEntropyWithSoftmax = 1.99199734 * 20480; EvalErrorPrediction = 0.54179687 * 20480; totalSamplesSeen = 40960; learningRatePerSample = 0.001953125; epochTime=1.38363s
05/03/2016 18:18:43: SGD: Saving checkpoint model '/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu/models/cntkSpeech.dnn.2'
05/03/2016 18:18:10: Starting Epoch 3: learning rate per sample = 0.000098 effective momentum = 0.656119 momentum as time constant = 2429.9 samples
05/03/2016 18:18:43: Starting Epoch 3: learning rate per sample = 0.000098 effective momentum = 0.656119 momentum as time constant = 2429.9 samples
minibatchiterator: epoch 2: frames [40960..61440] (first utterance at frame 40960), data subset 0 of 1, with 1 datapasses
05/03/2016 18:18:10: Starting minibatch loop.
05/03/2016 18:18:11: Epoch[ 3 of 3]-Minibatch[ 1- 10, 50.00%]: CrossEntropyWithSoftmax = 1.91946163 * 10240; EvalErrorPrediction = 0.52890625 * 10240; time = 0.9372s; samplesPerSecond = 10926.7
05/03/2016 18:18:11: Epoch[ 3 of 3]-Minibatch[ 11- 20, 100.00%]: CrossEntropyWithSoftmax = 1.91066799 * 10240; EvalErrorPrediction = 0.52783203 * 10240; time = 0.5568s; samplesPerSecond = 18389.6
05/03/2016 18:18:11: Finished Epoch[ 3 of 3]: [Training] CrossEntropyWithSoftmax = 1.91506481 * 20480; EvalErrorPrediction = 0.52836914 * 20480; totalSamplesSeen = 61440; learningRatePerSample = 9.7656251e-05; epochTime=1.49933s
05/03/2016 18:18:11: SGD: Saving checkpoint model '/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu/models/cntkSpeech.dnn'
05/03/2016 18:18:11: CNTKCommandTrainEnd: speechTrain
05/03/2016 18:18:43: Starting minibatch loop.
05/03/2016 18:18:43: Epoch[ 3 of 3]-Minibatch[ 1- 10, 50.00%]: CrossEntropyWithSoftmax = 1.91946163 * 10240; EvalErrorPrediction = 0.52890625 * 10240; time = 0.5706s; samplesPerSecond = 17944.9
05/03/2016 18:18:44: Epoch[ 3 of 3]-Minibatch[ 11- 20, 100.00%]: CrossEntropyWithSoftmax = 1.91066799 * 10240; EvalErrorPrediction = 0.52783203 * 10240; time = 0.5679s; samplesPerSecond = 18031.6
05/03/2016 18:18:44: Finished Epoch[ 3 of 3]: [Training] CrossEntropyWithSoftmax = 1.91506481 * 20480; EvalErrorPrediction = 0.52836914 * 20480; totalSamplesSeen = 61440; learningRatePerSample = 9.7656251e-05; epochTime=1.14421s
05/03/2016 18:18:44: SGD: Saving checkpoint model '/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu/models/cntkSpeech.dnn'
05/03/2016 18:18:44: CNTKCommandTrainEnd: speechTrain
05/03/2016 18:18:11: Action "train" complete.
05/03/2016 18:18:44: Action "train" complete.
05/03/2016 18:18:11: __COMPLETED__
05/03/2016 18:18:44: __COMPLETED__
=== Deleting last epoch data
==== Re-running from checkpoint
=== Running /home/philly/jenkins/workspace/CNTK-Test-Linux-W1/build/gpu/release/bin/cntk configFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E/cntk.cntk currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data RunDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E OutputDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu DeviceId=-1 timestamping=true makeMode=true speechTrain=[reader=[readerType=ExperimentalHTKMLFReader]]
=== Running /home/philly/jenkins/workspace/CNTK-Test-Linux-W1/build/gpu/release/bin/cntk configFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E/cntk.cntk currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data RunDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E OutputDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu DeviceId=-1 timestamping=true makeMode=true
-------------------------------------------------------------------
Build info:
@ -542,32 +544,32 @@ Build info:
Build Path: /home/philly/jenkins/workspace/CNTK-Build-Linux
-------------------------------------------------------------------
Changed current directory to /home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
05/03/2016 18:18:11: -------------------------------------------------------------------
05/03/2016 18:18:11: Build info:
05/03/2016 18:18:44: -------------------------------------------------------------------
05/03/2016 18:18:44: Build info:
05/03/2016 18:18:11: Built time: May 3 2016 17:56:15
05/03/2016 18:18:11: Last modified date: Tue May 3 11:36:22 2016
05/03/2016 18:18:11: Build type: release
05/03/2016 18:18:11: Build target: GPU
05/03/2016 18:18:11: With 1bit-SGD: no
05/03/2016 18:18:11: Math lib: acml
05/03/2016 18:18:11: CUDA_PATH: /usr/local/cuda-7.5
05/03/2016 18:18:11: CUB_PATH: /usr/local/cub-1.4.1
05/03/2016 18:18:11: CUDNN_PATH: /usr/local/cudnn-4.0
05/03/2016 18:18:11: Build Branch: HEAD
05/03/2016 18:18:11: Build SHA1: 571b092d60e131fd529081a5ed52af2dc815dc82
05/03/2016 18:18:11: Built by philly on 18750d26eb32
05/03/2016 18:18:11: Build Path: /home/philly/jenkins/workspace/CNTK-Build-Linux
05/03/2016 18:18:11: -------------------------------------------------------------------
05/03/2016 18:18:44: Built time: May 3 2016 17:56:15
05/03/2016 18:18:44: Last modified date: Tue May 3 11:36:22 2016
05/03/2016 18:18:44: Build type: release
05/03/2016 18:18:44: Build target: GPU
05/03/2016 18:18:44: With 1bit-SGD: no
05/03/2016 18:18:44: Math lib: acml
05/03/2016 18:18:44: CUDA_PATH: /usr/local/cuda-7.5
05/03/2016 18:18:44: CUB_PATH: /usr/local/cub-1.4.1
05/03/2016 18:18:44: CUDNN_PATH: /usr/local/cudnn-4.0
05/03/2016 18:18:44: Build Branch: HEAD
05/03/2016 18:18:44: Build SHA1: 571b092d60e131fd529081a5ed52af2dc815dc82
05/03/2016 18:18:44: Built by philly on 18750d26eb32
05/03/2016 18:18:44: Build Path: /home/philly/jenkins/workspace/CNTK-Build-Linux
05/03/2016 18:18:44: -------------------------------------------------------------------
05/03/2016 18:18:11: Running on localhost at 2016/05/03 18:18:11
05/03/2016 18:18:11: Command line:
/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/build/gpu/release/bin/cntk configFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E/cntk.cntk currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data RunDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E OutputDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu DeviceId=-1 timestamping=true makeMode=true speechTrain=[reader=[readerType=ExperimentalHTKMLFReader]]
05/03/2016 18:18:44: Running on localhost at 2016/05/03 18:18:44
05/03/2016 18:18:44: Command line:
/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/build/gpu/release/bin/cntk configFile=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E/cntk.cntk currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data RunDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E OutputDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu DeviceId=-1 timestamping=true makeMode=true
05/03/2016 18:18:11: >>>>>>>>>>>>>>>>>>>> RAW CONFIG (VARIABLES NOT RESOLVED) >>>>>>>>>>>>>>>>>>>>
05/03/2016 18:18:11: precision = "float"
05/03/2016 18:18:44: >>>>>>>>>>>>>>>>>>>> RAW CONFIG (VARIABLES NOT RESOLVED) >>>>>>>>>>>>>>>>>>>>
05/03/2016 18:18:44: precision = "float"
command = speechTrain
deviceId = $DeviceId$
parallelTrain = false
@ -653,26 +655,25 @@ speechTrain = [
]
]
currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
RunDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu
RunDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu
DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E
OutputDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu
ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E
OutputDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu
DeviceId=-1
timestamping=true
makeMode=true
speechTrain=[reader=[readerType=ExperimentalHTKMLFReader]]
05/03/2016 18:18:11: <<<<<<<<<<<<<<<<<<<< RAW CONFIG (VARIABLES NOT RESOLVED) <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:18:44: <<<<<<<<<<<<<<<<<<<< RAW CONFIG (VARIABLES NOT RESOLVED) <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:18:11: >>>>>>>>>>>>>>>>>>>> RAW CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
05/03/2016 18:18:11: precision = "float"
05/03/2016 18:18:44: >>>>>>>>>>>>>>>>>>>> RAW CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
05/03/2016 18:18:44: precision = "float"
command = speechTrain
deviceId = -1
parallelTrain = false
makeMode = false
speechTrain = [
action = "train"
modelPath = "/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu/models/cntkSpeech.dnn"
modelPath = "/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu/models/cntkSpeech.dnn"
deviceId = -1
traceLevel = 1
SimpleNetworkBuilder = [
@ -751,31 +752,30 @@ speechTrain = [
]
]
currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
RunDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu
RunDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu
DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E
OutputDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu
ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E
OutputDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu
DeviceId=-1
timestamping=true
makeMode=true
speechTrain=[reader=[readerType=ExperimentalHTKMLFReader]]
05/03/2016 18:18:11: <<<<<<<<<<<<<<<<<<<< RAW CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:18:44: <<<<<<<<<<<<<<<<<<<< RAW CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:18:11: >>>>>>>>>>>>>>>>>>>> PROCESSED CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
05/03/2016 18:18:44: >>>>>>>>>>>>>>>>>>>> PROCESSED CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
configparameters: cntk.cntk:command=speechTrain
configparameters: cntk.cntk:ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/ExperimentalHtkmlfReader/QuickE2E/../../QuickE2E
configparameters: cntk.cntk:ConfigDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/QuickE2E
configparameters: cntk.cntk:currentDirectory=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
configparameters: cntk.cntk:DataDir=/home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data
configparameters: cntk.cntk:deviceId=-1
configparameters: cntk.cntk:makeMode=true
configparameters: cntk.cntk:OutputDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu
configparameters: cntk.cntk:OutputDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu
configparameters: cntk.cntk:parallelTrain=false
configparameters: cntk.cntk:precision=float
configparameters: cntk.cntk:RunDir=/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu
configparameters: cntk.cntk:RunDir=/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu
configparameters: cntk.cntk:speechTrain=[
action = "train"
modelPath = "/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu/models/cntkSpeech.dnn"
modelPath = "/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu/models/cntkSpeech.dnn"
deviceId = -1
traceLevel = 1
SimpleNetworkBuilder = [
@ -852,33 +852,32 @@ configparameters: cntk.cntk:speechTrain=[
labelType = "category"
]
]
] [reader=[readerType=ExperimentalHTKMLFReader]]
]
configparameters: cntk.cntk:timestamping=true
05/03/2016 18:18:11: <<<<<<<<<<<<<<<<<<<< PROCESSED CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:18:11: Commands: speechTrain
05/03/2016 18:18:11: Precision = "float"
05/03/2016 18:18:11: CNTKModelPath: /tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu/models/cntkSpeech.dnn
05/03/2016 18:18:11: CNTKCommandTrainInfo: speechTrain : 3
05/03/2016 18:18:11: CNTKCommandTrainInfo: CNTKNoMoreCommands_Total : 3
05/03/2016 18:18:44: <<<<<<<<<<<<<<<<<<<< PROCESSED CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
05/03/2016 18:18:44: Commands: speechTrain
05/03/2016 18:18:44: Precision = "float"
05/03/2016 18:18:44: CNTKModelPath: /tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu/models/cntkSpeech.dnn
05/03/2016 18:18:44: CNTKCommandTrainInfo: speechTrain : 3
05/03/2016 18:18:44: CNTKCommandTrainInfo: CNTKNoMoreCommands_Total : 3
05/03/2016 18:18:11: ##############################################################################
05/03/2016 18:18:11: # #
05/03/2016 18:18:11: # Action "train" #
05/03/2016 18:18:11: # #
05/03/2016 18:18:11: ##############################################################################
05/03/2016 18:18:44: ##############################################################################
05/03/2016 18:18:44: # #
05/03/2016 18:18:44: # Action "train" #
05/03/2016 18:18:44: # #
05/03/2016 18:18:44: ##############################################################################
05/03/2016 18:18:11: CNTKCommandTrainBegin: speechTrain
05/03/2016 18:18:44: CNTKCommandTrainBegin: speechTrain
SimpleNetworkBuilder Using CPU
Reading script file glob_0000.scp ... 948 entries
HTKDataDeserializer::HTKDataDeserializer: 948 utterances grouped into 3 chunks, av. chunk size: 316.0 utterances, 84244.7 frames
HTKDataDeserializer::HTKDataDeserializer: determined feature kind as 363-dimensional 'USER' with frame shift 10.0 ms
reading script file glob_0000.scp ... 948 entries
total 132 state names in state list /home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data/state.list
htkmlfreader: reading MLF file /home/philly/jenkins/workspace/CNTK-Test-Linux-W1/Tests/EndToEndTests/Speech/Data/glob_0000.mlf ... total 948 entries
MLFDataDeserializer::MLFDataDeserializer: read 252734 sequences
MLFDataDeserializer::MLFDataDeserializer: read 948 utterances
...............................................................................................feature set 0: 252734 frames in 948 out of 948 utterances
label set 0: 129 classes
minibatchutterancesource: 948 utterances grouped into 3 chunks, av. chunk size: 316.0 utterances, 84244.7 frames
05/03/2016 18:18:11: Starting from checkpoint. Loading network from '/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu/models/cntkSpeech.dnn.2'.
05/03/2016 18:18:44: Starting from checkpoint. Loading network from '/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu/models/cntkSpeech.dnn.2'.
Post-processing network...
@ -930,14 +929,14 @@ Validating network, final pass.
Post-processing network complete.
05/03/2016 18:18:11: Loaded model with 25 nodes on CPU.
05/03/2016 18:18:44: Loaded model with 25 nodes on CPU.
05/03/2016 18:18:11: Training criterion node(s):
05/03/2016 18:18:11: CrossEntropyWithSoftmax = CrossEntropyWithSoftmax
05/03/2016 18:18:44: Training criterion node(s):
05/03/2016 18:18:44: CrossEntropyWithSoftmax = CrossEntropyWithSoftmax
05/03/2016 18:18:11: Evaluation criterion node(s):
05/03/2016 18:18:44: Evaluation criterion node(s):
05/03/2016 18:18:11: EvalErrorPrediction = ErrorPrediction
05/03/2016 18:18:44: EvalErrorPrediction = ErrorPrediction
Allocating matrices for forward and/or backward propagation.
@ -945,46 +944,48 @@ Allocating matrices for forward and/or backward propagation.
Memory Sharing Structure:
(nil): {[EvalErrorPrediction Gradient[1]] [InvStdOfFeatures Gradient[363]] [LogOfPrior Gradient[132]] [MVNormalizedFeatures Gradient[363 x *1]] [MeanOfFeatures Gradient[363]] [PosteriorProb Gradient[132 x 1 x *1]] [PosteriorProb Value[132 x 1 x *1]] [Prior Gradient[132]] [ScaledLogLikelihood Gradient[132 x 1 x *1]] [features Gradient[363 x *1]] [labels Gradient[132 x *1]] }
0x1aeb028: {[features Value[363 x *1]] }
0x1aeefc8: {[W0 Value[512 x 363]] }
0x1af6028: {[W0 Gradient[512 x 363]] [W0*features+B0 Value[512 x 1 x *1]] }
0x1af6178: {[W0*features Value[512 x *1]] }
0x1b44848: {[Prior Value[132]] }
0x1b45f68: {[InvStdOfFeatures Value[363]] }
0x1b47188: {[B1 Gradient[512 x 1]] [H2 Gradient[512 x 1 x *1]] [HLast Gradient[132 x 1 x *1]] }
0x1b47348: {[W2*H1 Gradient[132 x 1 x *1]] }
0x1b47508: {[B2 Gradient[132 x 1]] }
0x1bb5828: {[EvalErrorPrediction Value[1]] }
0x1bb88e8: {[B2 Value[132 x 1]] }
0x1bbf8c8: {[H1 Value[512 x 1 x *1]] [W0*features Gradient[512 x *1]] }
0x1bbfa88: {[W0*features+B0 Gradient[512 x 1 x *1]] [W1*H1 Value[512 x 1 x *1]] }
0x1bbfc48: {[W1 Gradient[512 x 512]] [W1*H1+B1 Value[512 x 1 x *1]] }
0x1bc48f8: {[W2 Value[132 x 512]] }
0x1bc4b58: {[H2 Value[512 x 1 x *1]] [W1*H1 Gradient[512 x 1 x *1]] }
0x1bc4cb8: {[B0 Gradient[512 x 1]] [H1 Gradient[512 x 1 x *1]] [W1*H1+B1 Gradient[512 x 1 x *1]] [W2*H1 Value[132 x 1 x *1]] }
0x1bc4e78: {[HLast Value[132 x 1 x *1]] [W2 Gradient[132 x 512]] }
0x1bdcd98: {[B0 Value[512 x 1]] }
0x1be2ca8: {[W1 Value[512 x 512]] }
0x1bf94e8: {[B1 Value[512 x 1]] }
0x1c22658: {[MVNormalizedFeatures Value[363 x *1]] }
0x1c22708: {[LogOfPrior Value[132]] }
0x1c246c8: {[CrossEntropyWithSoftmax Gradient[1]] }
0x1c25598: {[ScaledLogLikelihood Value[132 x 1 x *1]] }
0x1c25758: {[CrossEntropyWithSoftmax Value[1]] }
0x1c28958: {[labels Value[132 x *1]] }
0x1c2ca78: {[MeanOfFeatures Value[363]] }
0x162aba8: {[B1 Value[512 x 1]] }
0x162b068: {[B0 Value[512 x 1]] }
0x162dc58: {[features Value[363 x *1]] }
0x162e6e8: {[B2 Value[132 x 1]] }
0x162e808: {[Prior Value[132]] }
0x1632798: {[InvStdOfFeatures Value[363]] }
0x1635a88: {[W0 Gradient[512 x 363]] [W0*features+B0 Value[512 x 1 x *1]] }
0x1635c98: {[H1 Value[512 x 1 x *1]] [W0*features Gradient[512 x *1]] }
0x1635e58: {[W0*features+B0 Gradient[512 x 1 x *1]] [W1*H1 Value[512 x 1 x *1]] }
0x1636018: {[W1 Gradient[512 x 512]] [W1*H1+B1 Value[512 x 1 x *1]] }
0x16361d8: {[H2 Value[512 x 1 x *1]] [W1*H1 Gradient[512 x 1 x *1]] }
0x16820c8: {[EvalErrorPrediction Value[1]] }
0x16823b8: {[ScaledLogLikelihood Value[132 x 1 x *1]] }
0x1682578: {[CrossEntropyWithSoftmax Value[1]] }
0x1682848: {[W0*features Value[512 x *1]] }
0x1689ce8: {[MVNormalizedFeatures Value[363 x *1]] }
0x16ce748: {[MeanOfFeatures Value[363]] }
0x1733f58: {[CrossEntropyWithSoftmax Gradient[1]] }
0x1734118: {[B1 Gradient[512 x 1]] [H2 Gradient[512 x 1 x *1]] [HLast Gradient[132 x 1 x *1]] }
0x17342d8: {[W2*H1 Gradient[132 x 1 x *1]] }
0x1734498: {[B2 Gradient[132 x 1]] }
0x1742148: {[W0 Value[512 x 363]] }
0x1746838: {[labels Value[132 x *1]] }
0x174d948: {[B0 Gradient[512 x 1]] [H1 Gradient[512 x 1 x *1]] [W1*H1+B1 Gradient[512 x 1 x *1]] [W2*H1 Value[132 x 1 x *1]] }
0x174db08: {[HLast Value[132 x 1 x *1]] [W2 Gradient[132 x 512]] }
0x174ef58: {[LogOfPrior Value[132]] }
0x1753168: {[W1 Value[512 x 512]] }
0x1757cc8: {[W2 Value[132 x 512]] }
05/03/2016 18:18:11: No PreCompute nodes found, skipping PreCompute step.
05/03/2016 18:18:44: No PreCompute nodes found, skipping PreCompute step.
05/03/2016 18:18:11: Starting Epoch 3: learning rate per sample = 0.000098 effective momentum = 0.656119 momentum as time constant = 2429.9 samples
05/03/2016 18:18:44: Starting Epoch 3: learning rate per sample = 0.000098 effective momentum = 0.656119 momentum as time constant = 2429.9 samples
minibatchiterator: epoch 2: frames [40960..61440] (first utterance at frame 40960), data subset 0 of 1, with 1 datapasses
requiredata: determined feature kind as 33-dimensional 'USER' with frame shift 10.0 ms
05/03/2016 18:18:11: Starting minibatch loop.
05/03/2016 18:18:12: Epoch[ 3 of 3]-Minibatch[ 1- 10, 50.00%]: CrossEntropyWithSoftmax = 1.91946163 * 10240; EvalErrorPrediction = 0.52890625 * 10240; time = 0.9073s; samplesPerSecond = 11286.8
05/03/2016 18:18:13: Epoch[ 3 of 3]-Minibatch[ 11- 20, 100.00%]: CrossEntropyWithSoftmax = 1.91066799 * 10240; EvalErrorPrediction = 0.52783203 * 10240; time = 0.7119s; samplesPerSecond = 14383.7
05/03/2016 18:18:13: Finished Epoch[ 3 of 3]: [Training] CrossEntropyWithSoftmax = 1.91506481 * 20480; EvalErrorPrediction = 0.52836914 * 20480; totalSamplesSeen = 61440; learningRatePerSample = 9.7656251e-05; epochTime=1.65992s
05/03/2016 18:18:13: SGD: Saving checkpoint model '/tmp/cntk-test-20160503181449.303380/Speech/ExperimentalHtkmlfReader_QuickE2E@release_cpu/models/cntkSpeech.dnn'
05/03/2016 18:18:13: CNTKCommandTrainEnd: speechTrain
05/03/2016 18:18:44: Starting minibatch loop.
05/03/2016 18:18:45: Epoch[ 3 of 3]-Minibatch[ 1- 10, 50.00%]: CrossEntropyWithSoftmax = 1.91946163 * 10240; EvalErrorPrediction = 0.52890625 * 10240; time = 0.7391s; samplesPerSecond = 13854.3
05/03/2016 18:18:45: Epoch[ 3 of 3]-Minibatch[ 11- 20, 100.00%]: CrossEntropyWithSoftmax = 1.91066799 * 10240; EvalErrorPrediction = 0.52783203 * 10240; time = 0.5899s; samplesPerSecond = 17358.9
05/03/2016 18:18:45: Finished Epoch[ 3 of 3]: [Training] CrossEntropyWithSoftmax = 1.91506481 * 20480; EvalErrorPrediction = 0.52836914 * 20480; totalSamplesSeen = 61440; learningRatePerSample = 9.7656251e-05; epochTime=1.41708s
05/03/2016 18:18:45: SGD: Saving checkpoint model '/tmp/cntk-test-20160503181449.303380/Speech_QuickE2E@release_cpu/models/cntkSpeech.dnn'
05/03/2016 18:18:46: CNTKCommandTrainEnd: speechTrain
05/03/2016 18:18:13: Action "train" complete.
05/03/2016 18:18:46: Action "train" complete.
05/03/2016 18:18:13: __COMPLETED__
05/03/2016 18:18:46: __COMPLETED__

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше