问题
Context:
I'm using a custom CoreML model made by a datascientist.
The model is a pipeline that uses Apple SoundAnalysisPreprocessing
model as it's first model. SoundAnalysisPreprocessing
model is followed by a custom model that contains different convolution layers and a softmax.
Issue:
When launching a prediction, I sometimes get Unexpected error processing model
. With the exact same input, I sometimes get a correct result and sometimes I get this error.
Question: I have no clue what to do with this error. Is it a memory problem with input being badly allocated ? Is it a problem with the model itself ? Do you have any idea what I could do to understand what is happening ?
Complete error log:
[DSPGraph] throwing DSPGraph::Exception with backtrace:
0 0x7fff2bcf5df9 DSPGraph::Graph::processMultiple(DSPGraph::GraphIOData*, DSPGraph::GraphIOData*) + 249
1 0x7fff2bc3b570 processThroughGraph(id<MLFeatureProvider>, MLMultiArrayConstraint*, MLMultiArray*, NSString*, DSPGraph::Graph&, std::__1::vector<float, DSPGraph::Graph&::allocator<float> >&, void (DSPGraph::Graph, NSString*::GraphIOData&) block_pointer, NSError* __autoreleasing*) + 979
2 0x7fff2bc3c573 -[SNDSPGraphCustomModel predictionFromFeatures:options:error:] + 195
3 0x7fff2bc3ca49 -[_SNVGGishFrontEndProcessingCustomModel predictionFromFeatures:options:error:] + 98
4 0x7fff2496ac30 -[MLAppleSoundAnalysisPreprocessing predictionFromFeatures:options:error:] + 132
5 0x7fff248d345c -[MLPipeline predictionFromFeatures:options:error:] + 178
6 0x7fff24923f76 -[MLModel predictionFromFeatures:error:] + 92
7 0x104b89a68 $s10TestCoreML17AudioFileAnalyzerC019previsionWithManualD3Cut33_1966162A0510E69792A8D979B37CC177LL3for10completiony10Foundation3URLV_ySo12MLMultiArrayCSgXEtF + 5992
8 0x104b87850 $s10TestCoreML17AudioFileAnalyzerC05startF03for10completiony10Foundation3URLV_yyXEtF + 80
9 0x104bb360c $s10TestCoreML23ClassificationViewModelC14startRecognize4word8mockData11resultBlock06finishM0ySS_SbySb_SaySo16SNClassificationCGSgtcSgyyctF + 3436
10 0x104bad21c $s10TestCoreML18ReadViewControllerC010collectionE0_15didSelectItemAtySo012UICollectionE0C_10Foundation9IndexPathVtFyycfU_ + 220
11 0x104b923fd $sIeg_IeyB_TR + 45
12 0x104f79d64 _dispatch_client_callout + 8
13 0x104f7c6d6 _dispatch_continuation_pop + 552
14 0x104f8fa8f _dispatch_source_invoke + 2205
15 0x104f87c53 _dispatch_main_queue_callback_4CF + 1043
[truncated?]
2019-10-30 20:33:04.209693+0100 TestCoreML[5024:191792] [] Caught graph exception 1718775073 !mrf fromBytePos (0) + numBytesToCopy (61440) > mABL->mBuffers[0].mDataByteSize (2112) in /BuildRoot/Library/Caches/com.apple.xbs/Sources/Listen_Sim/Listen-35/CoreAudioUtility/Source/CADSP/DSPGraph/DSPGraph_Utils.cpp:742
回答1:
I believe you need to update some of the libs in your code. Based on this GitHub related to your error.
Github
graph exception 1718775073 is the key.
In the forum they said this was the fix, because of a weird difference in between incoming call vs outgoing call variables.
if (-0.01f <= hw_srate || hw_srate >= 0.1.f)
{
fmt.mSampleRate = prm->state;
fat->sample_rate = 1.0f;
}
回答2:
To resolve this you have to manually move the model file into the app directory and then add it to xcode - it seems to be a bug in Xcode putting the model that is stored in another directory into the app package
来源:https://stackoverflow.com/questions/58632695/coreml-unexpected-error-processing-model-error-sometimes-occurring