#MLNET – Solución para el error [System.InvalidOperationException, Entry point ‘ not found] al momento de entrenar un Pipeline

Buenas!

Hoy voy a dejar este post como un ayuda memoria de algo que me olvido siempre en los proyectos de ML.Net y siempre me encuentro con el siguiente error.

System.InvalidOperationException

  HResult=0x80131509

  Message=Entry point ‘<some external assembly> not found

  Source=Microsoft.ML.Data

Donde el [External Assembly] puede ser por ejemplo LightGBM

  Message=Entry point ‘Trainers.LightGbmClassifier’ not found

01 mlnet entry point not found

Este error es de ejecución y se da al momento de comenzar el entrenamiento de un Pipeline. Suele estar asociado a escenarios donde agregamos una referencia externa además de Microsoft.ML.

La solución es bastante simple, solo debemos asegurarnos que la propiedad de proyecto <CopyLocalLockFileAssemblies> este habilitado

02 mlnet project config CopyLocalLockFileAssemblies

Editando el csproj de la siguiente manera

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup Label="Globals">
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
  </PropertyGroup>
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
  </PropertyGroup>

Y listo, ahora nuestros pipelines pueden entrenar correctamente!

Happy Coding!

Saludos @ Burlington

El Bruno

References

My Posts

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s