Не могу получить подходящий трансформатор для PFI

Если вы абсолютно позиционируете элементы внутри div, вы можете установить верхнюю и нижнюю части прокладки на 50%.

Так что-то вроде этого:

#s7 {
    position: relative;
    width:100%;
    padding: 50% 0;
    margin:auto;
    overflow: hidden;
    z-index:1;
}
0
задан Eric J. 25 March 2019 в 18:32
поделиться

1 ответ

Очевидно, что цепи трансформаторов могут иметь дочерние цепи трансформаторов с ML.Net 0.10. Следующее возвращает желаемый преобразователь:

public static IPredictionTransformer<IPredictor> FindPredictionTransformer(this TransformerChain<ITransformer> chain)
{
    var xf = chain.OfType<IPredictionTransformer<IPredictor>>().FirstOrDefault();
    if (xf != null) return xf;

    foreach (var t in chain.OfType<TransformerChain<ITransformer>>())
    {
        var xfChild = t.OfType<IPredictionTransformer<IPredictor>>().FirstOrDefault();
        if (xfChild != null) return xfChild;
    }

    return null;
}

Использование:

TransformerChain<ITransformer> trainedModel;

using (var stream = new FileStream(modelPath, FileMode.Open, FileAccess.Read, FileShare.Read))
{
    trainedModel = (TransformerChain<ITransformer>)mlContext.Model.Load(stream);
}

var predictionTransformer = trainedModel.FindPredictionTransformer();

var featureImportance = PfiHelper.CalculatePfi(mlContext, predictionTransformer, trainingDataView);

Мне непонятно, почему было необходимо выполнить итерации дочернего элемента TransformerChain<ITransformer> или может быть необходимо искать более глубоко (внуки и т. д.) в некоторых случаях. Буду признателен за комментарий или дополнительный ответ, разъясняющий эту проблему.

0
ответ дан Eric J. 25 March 2019 в 18:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: