NetChain provides a method NetExtract.
I want to see how standClassify = Classify[trainingData, Method -> "NeuralNetwork"]
works,beacause it has a better accuracy.
I cann't find a method to do a such thing like NetExtract.
I ranSave["standClassify ", standClassify ]
,and got all information
standClassify = ClassifierFunction[
<|"Basic" -> ....|>]
,deleted ClassifierFunction[]
,ran Get["standClassify"]
.
Then ran standClassify[["Models"]]
.
I still cann't understand the structure.
Dimensions /@ \
(standClassify[["Models"]][[1]][["NeuralNetwork"]][["Weights"]])
{{972, 324}, {972, 972}, {10, 972}}
Maybe other good solution to get those information.
reduce = DimensionReduction[Keys[trainingData], 324]
to get DimensionReducerFunction
Then transform input transform[data_] :=
Replace[#,
RuleDelayed[image_ -> label_, reduce[image] -> label]] & /@ data;
Train standClassify =
NetTrain[lineNet, trainingData // transform, MaxTrainingRounds -> 3,
TargetDevice -> "GPU"]
.
This didn't work well,classifier-accuracy is 0.8676.
Accuracy can be 0.9379 if I use Classify
.