error running the simpleDemo missing libio5md.dll

Sep 12, 2015 at 8:58 PM
Hi,
I am a beginner in DNN tools. I copied the Simple.config example from the book and ran it using following command:
cn.exe = configFile=Simple.config

I get the following error:
"The program can't start because libio5md.dll is missing from your computer. Try reinstalling the program to fix the problem"

I don't find this dll as part of the distribution. What does this file do and how can I fix this issue?

Thanks
Coordinator
Sep 12, 2015 at 11:48 PM
This is the MKL runtime. We probably did not include all runtime files in the package. You can install MKL to fix this. MKL now has a free community license.
Sep 15, 2015 at 6:12 AM
Edited Sep 15, 2015 at 6:18 AM
Hi Dong,
Thanks for the reply. I downloaded and installed the mkl library. However, still not able to run the demo config. The message in output log is also not very informative.
This is my input and output log.

config file
# command=Simple_Demo_Output
command=Simple_Demo:Simple_Demo_Output
# deviceId=-1 for CPU, >=0 for GPU devices
DeviceNumber=0
stderr=Demo
precision=float
modelPath=models/simple.dnn
deviceId=$DeviceNumber$
outputNodeNames=ScaledLogLikelihood
traceLevel=1
#######################################
# TRAINING CONFIG (Simple, Fixed LR) #
#######################################
Simple_Demo=[
action=train
# Notation xxx:yyy*n:zzz is equivalent to xxx,
# then yyy repeated n times, then zzz
# example: 10:20*3:5 is equivalent to 10:20:20:20:5
SimpleNetworkBuilder=[
# 2 input, 2 50-element hidden, 2 output
layerSizes=2:50*2:2
trainingCriterion=CrossEntropyWithSoftmax
evalCriterion=ErrorPrediction
layerTypes=Sigmoid
initValueScale=1.0
applyMeanVarNorm=true
uniformInit=true
needPrior=true ]
SGD=[
# epochSize=0 means epochSize is the size of
# the training set. Must be evenly divisible
# into number of data frames.
epochSize=0
minibatchSize=25
learningRatesPerMB=0.5:0.2*20:0.1
momentumPerMB=0.9
dropoutRate=0.0
maxEpochs=500
]
# Parameter values for the reader
reader=[
# reader to use
readerType=UCIFastReader
file=SimpleDataTrain.txt
miniBatchMode=Partial
randomize=Auto
verbosity=1
features=[
dim=2 # two-dimensional input data
start=0 # Start with first element on line
]
labels=[
start=2 # Skip two elements
dim=1 # One label dimension
labelDim=2 # Two labels possible
labelMappingFile=SimpleMapping.txt
]
]
]
#######################################
# OUTPUT RESUTLS (Simple) #
#######################################
Simple_Demo_Output=[
action=write
# Parameter values for the reader
reader=[
# reader to use
readerType=UCIFastReader
file=SimpleDataTest.txt
features=[
dim=2
start=0
]
labels=[
start=2
dim=1
labelDim=2
labelMappingFile=SimpleMapping.txt
]
]
outputPath=SimpleOutput # Dump output as text
]
Sep 15, 2015 at 6:19 AM
output file
-------------------------------------------------------------------
Build info: 

        Built time: Apr 15 2015 02:17:05
        Last modified date: Wed Apr 15 02:09:17 2015
        Built by dongyu on Speech-Tesla10           
        Build Path: D:\users\dongyu\Repos\cntk\MachineLearning\cn\
        Build Branch: master
        Build SHA1: 8fc1f9910d595e189fac593acd8629aa776ef205
-------------------------------------------------------------------
running on MININT-D7HNA9P at 2015/09/14 23:07:14
command line options: 
configFile=simple.config 

>>>>>>>>>>>>>>>>>>>> RAW CONFIG (VARIABLES NOT RESOLVED) >>>>>>>>>>>>>>>>>>>>
command=Simple_Demo:Simple_Demo_Output
DeviceNumber=0
stderr=Demo
precision=float
modelPath=models/simple.dnn
deviceId=$DeviceNumber$
outputNodeNames=ScaledLogLikelihood
traceLevel=1
Simple_Demo=[
action=train
SimpleNetworkBuilder=[
layerSizes=2:50*2:2
trainingCriterion=CrossEntropyWithSoftmax
evalCriterion=ErrorPrediction
layerTypes=Sigmoid
initValueScale=1.0
applyMeanVarNorm=true
uniformInit=true
needPrior=true ]
SGD=[
epochSize=0
minibatchSize=25
learningRatesPerMB=0.5:0.2*20:0.1
momentumPerMB=0.9
dropoutRate=0.0
maxEpochs=500
]
reader=[
readerType=UCIFastReader
file=SimpleDataTrain.txt
miniBatchMode=Partial
randomize=Auto
verbosity=1
features=[
dim=2 
start=0 
]
labels=[
start=2 
dim=1 
labelDim=2 
labelMappingFile=SimpleMapping.txt
]
]
]
Simple_Demo_Output=[
action=write
reader=[
readerType=UCIFastReader
file=SimpleDataTest.txt
features=[
dim=2
start=0
]
labels=[
start=2
dim=1
labelDim=2
labelMappingFile=SimpleMapping.txt
]
]
outputPath=SimpleOutput 
]

<<<<<<<<<<<<<<<<<<<< RAW CONFIG (VARIABLES NOT RESOLVED)  <<<<<<<<<<<<<<<<<<<<

>>>>>>>>>>>>>>>>>>>> RAW CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
command=Simple_Demo:Simple_Demo_Output
DeviceNumber=0
stderr=Demo
precision=float
modelPath=models/simple.dnn
deviceId=0
outputNodeNames=ScaledLogLikelihood
traceLevel=1
Simple_Demo=[
action=train
SimpleNetworkBuilder=[
layerSizes=2:50*2:2
trainingCriterion=CrossEntropyWithSoftmax
evalCriterion=ErrorPrediction
layerTypes=Sigmoid
initValueScale=1.0
applyMeanVarNorm=true
uniformInit=true
needPrior=true ]
SGD=[
epochSize=0
minibatchSize=25
learningRatesPerMB=0.5:0.2*20:0.1
momentumPerMB=0.9
dropoutRate=0.0
maxEpochs=500
]
reader=[
readerType=UCIFastReader
file=SimpleDataTrain.txt
miniBatchMode=Partial
randomize=Auto
verbosity=1
features=[
dim=2 
start=0 
]
labels=[
start=2 
dim=1 
labelDim=2 
labelMappingFile=SimpleMapping.txt
]
]
]
Simple_Demo_Output=[
action=write
reader=[
readerType=UCIFastReader
file=SimpleDataTest.txt
features=[
dim=2
start=0
]
labels=[
start=2
dim=1
labelDim=2
labelMappingFile=SimpleMapping.txt
]
]
outputPath=SimpleOutput 
]

<<<<<<<<<<<<<<<<<<<< RAW CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<

>>>>>>>>>>>>>>>>>>>> PROCESSED CONFIG WITH ALL VARIABLES RESOLVED >>>>>>>>>>>>>>>>>>>>
configparameters: simple.config:command=Simple_Demo:Simple_Demo_Output
configparameters: simple.config:deviceId=0
configparameters: simple.config:DeviceNumber=0
configparameters: simple.config:modelPath=models/simple.dnn
configparameters: simple.config:outputNodeNames=ScaledLogLikelihood
configparameters: simple.config:precision=float
configparameters: simple.config:Simple_Demo=[
action=train
SimpleNetworkBuilder=[
layerSizes=2:50*2:2
trainingCriterion=CrossEntropyWithSoftmax
evalCriterion=ErrorPrediction
layerTypes=Sigmoid
initValueScale=1.0
applyMeanVarNorm=true
uniformInit=true
needPrior=true ]
SGD=[
epochSize=0
minibatchSize=25
learningRatesPerMB=0.5:0.2*20:0.1
momentumPerMB=0.9
dropoutRate=0.0
maxEpochs=500
]
reader=[
readerType=UCIFastReader
file=SimpleDataTrain.txt
miniBatchMode=Partial
randomize=Auto
verbosity=1
features=[
dim=2 
start=0 
]
labels=[
start=2 
dim=1 
labelDim=2 
labelMappingFile=SimpleMapping.txt
]
]
]

configparameters: simple.config:Simple_Demo_Output=[
action=write
reader=[
readerType=UCIFastReader
file=SimpleDataTest.txt
features=[
dim=2
start=0
]
labels=[
start=2
dim=1
labelDim=2
labelMappingFile=SimpleMapping.txt
]
]
outputPath=SimpleOutput 
]

configparameters: simple.config:stderr=Demo
configparameters: simple.config:traceLevel=1
<<<<<<<<<<<<<<<<<<<< PROCESSED CONFIG WITH ALL VARIABLES RESOLVED <<<<<<<<<<<<<<<<<<<<
command: Simple_Demo Simple_Demo_Output 
precision = float
Coordinator
Sep 16, 2015 at 11:33 PM
Is it possible that the program cannot find the files such as SimpleDataTrain.txt and SimpleMapping.txt? Usually we will see an error log at the end of the log file.
Sep 17, 2015 at 8:15 PM
I found the Intel MKL DLL to be missing on a clean install as well, here's the link to get the libiomp5md.dll redistributable from Intel:

https://software.intel.com/en-us/articles/redistributable-libraries-for-the-intel-c-and-visual-fortran-composer-xe-for-windows/