Intentando Clasificar (sin funcionar)
This commit is contained in:
@@ -9,6 +9,34 @@
|
|||||||
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
|
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-0.86.0.518" newVersion="0.86.0.518" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Google.Protobuf" publicKeyToken="a7d26565bac4d604" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-3.21.9.0" newVersion="3.21.9.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="TorchSharp" publicKeyToken="67b0e5e1da516a1c" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-0.99.0.0" newVersion="0.99.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
</assemblyBinding>
|
</assemblyBinding>
|
||||||
</runtime>
|
</runtime>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|||||||
138
testML/DictionaryToObjectConverter.cs
Normal file
138
testML/DictionaryToObjectConverter.cs
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
using Microsoft.CSharp;
|
||||||
|
using Microsoft.ML;
|
||||||
|
using Microsoft.ML.Data;
|
||||||
|
using System;
|
||||||
|
using System.CodeDom.Compiler;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace testML
|
||||||
|
{
|
||||||
|
public static class DictionaryToObjectConverter
|
||||||
|
{
|
||||||
|
public static IEnumerable<object> Convert(List<Dictionary<string, object>> data, out Type classType, out DataViewSchema schema)
|
||||||
|
{
|
||||||
|
var schemaBuilder = new DataViewSchema.Builder();
|
||||||
|
|
||||||
|
var definition = new Dictionary<string, Type>();
|
||||||
|
|
||||||
|
var sample = data.FirstOrDefault();
|
||||||
|
if (sample != null)
|
||||||
|
{
|
||||||
|
foreach (var key in sample.Keys)
|
||||||
|
{
|
||||||
|
//Buscamos el tipo
|
||||||
|
var sampleValue = (from x in data where x.ContainsKey(key) && x[key] != null select x[key]).FirstOrDefault();
|
||||||
|
if (sampleValue != null)
|
||||||
|
{
|
||||||
|
var keyType = sampleValue.GetType();
|
||||||
|
definition.Add(key, keyType);
|
||||||
|
|
||||||
|
if (keyType == typeof(string))
|
||||||
|
{
|
||||||
|
schemaBuilder.AddColumn(key, TextDataViewType.Instance);
|
||||||
|
}
|
||||||
|
else if (keyType == typeof(double))
|
||||||
|
{
|
||||||
|
schemaBuilder.AddColumn(key, NumberDataViewType.Double);
|
||||||
|
}
|
||||||
|
else if (keyType == typeof(float))
|
||||||
|
{
|
||||||
|
schemaBuilder.AddColumn(key, NumberDataViewType.Single);
|
||||||
|
}
|
||||||
|
else if (keyType == typeof(int))
|
||||||
|
{
|
||||||
|
schemaBuilder.AddColumn(key, NumberDataViewType.Int32);
|
||||||
|
}
|
||||||
|
else if (keyType == typeof(long))
|
||||||
|
{
|
||||||
|
schemaBuilder.AddColumn(key, NumberDataViewType.Int64);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var converter = new DictionaryToObjectConverterClass()
|
||||||
|
{
|
||||||
|
ClassName = "OBJ" + Guid.NewGuid().ToString("N").ToUpper(),
|
||||||
|
Definition = definition
|
||||||
|
};
|
||||||
|
|
||||||
|
var classCode = converter.TransformText();
|
||||||
|
|
||||||
|
string exDir = System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory().Trim(Path.DirectorySeparatorChar);
|
||||||
|
CompilerParameters compilerParameters = new CompilerParameters
|
||||||
|
{
|
||||||
|
GenerateExecutable = false,
|
||||||
|
GenerateInMemory = true,
|
||||||
|
IncludeDebugInformation = true,
|
||||||
|
TreatWarningsAsErrors = false,
|
||||||
|
CompilerOptions = string.Format("/target:library /lib:{0}", exDir)
|
||||||
|
};
|
||||||
|
|
||||||
|
var mlDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
||||||
|
|
||||||
|
foreach (var item in AppDomain.CurrentDomain.GetAssemblies())
|
||||||
|
{
|
||||||
|
compilerParameters.ReferencedAssemblies.Add(item.Location);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// compilerParameters.ReferencedAssemblies.Add(Assembly.GetExecutingAssembly().Location);
|
||||||
|
|
||||||
|
CompilerResults compilerResults =
|
||||||
|
new CSharpCodeProvider(new Dictionary<string, string> { { "CompilerVersion", "v4.0" } }).CompileAssemblyFromSource(compilerParameters,
|
||||||
|
new string[] { classCode }
|
||||||
|
);
|
||||||
|
|
||||||
|
var dllAssembly = compilerResults.CompiledAssembly;
|
||||||
|
|
||||||
|
classType = dllAssembly.GetType("DictionaryToObjectConverterNamespace." + converter.ClassName);
|
||||||
|
|
||||||
|
Type listType = typeof(List<>);
|
||||||
|
Type genericType = listType.MakeGenericType(classType);
|
||||||
|
|
||||||
|
var result =(IList) Activator.CreateInstance(genericType) ;
|
||||||
|
|
||||||
|
foreach (var inputData in data)
|
||||||
|
{
|
||||||
|
var outputData = (IDictionaryToObjectConverter)Activator.CreateInstance(classType);
|
||||||
|
result.Add(outputData);
|
||||||
|
|
||||||
|
foreach (var key in inputData.Keys)
|
||||||
|
{
|
||||||
|
outputData[key] = inputData[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
schema = schemaBuilder.ToSchema();
|
||||||
|
|
||||||
|
return (IEnumerable<object>)result;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public partial class DictionaryToObjectConverterClass
|
||||||
|
{
|
||||||
|
public string ClassName { get; set; }
|
||||||
|
public string ToPredict { get; set; }
|
||||||
|
public Dictionary<string, Type> Definition { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface IDictionaryToObjectConverter
|
||||||
|
{
|
||||||
|
object this[string propertyName] { get; set; }
|
||||||
|
|
||||||
|
void SetValue(string propertyName, object value);
|
||||||
|
|
||||||
|
object GetValue(string propertyName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
423
testML/DictionaryToObjectConverterClass.cs
Normal file
423
testML/DictionaryToObjectConverterClass.cs
Normal file
@@ -0,0 +1,423 @@
|
|||||||
|
// ------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Este código fue generado por una herramienta.
|
||||||
|
// Versión del runtime: 17.0.0.0
|
||||||
|
//
|
||||||
|
// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
|
||||||
|
// se vuelve a generar el código.
|
||||||
|
// </auto-generated>
|
||||||
|
// ------------------------------------------------------------------------------
|
||||||
|
namespace testML
|
||||||
|
{
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Class to produce the template output
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
#line 1 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")]
|
||||||
|
public partial class DictionaryToObjectConverterClass : DictionaryToObjectConverterClassBase
|
||||||
|
{
|
||||||
|
#line hidden
|
||||||
|
/// <summary>
|
||||||
|
/// Create the template output
|
||||||
|
/// </summary>
|
||||||
|
public virtual string TransformText()
|
||||||
|
{
|
||||||
|
this.Write("\r\nusing System;\r\nusing System.Text;\r\nusing Microsoft.ML.Data;\r\n\r\nnamespace Dictio" +
|
||||||
|
"naryToObjectConverterNamespace\r\n{\r\n\tpublic class ");
|
||||||
|
|
||||||
|
#line 13 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
this.Write(this.ToStringHelper.ToStringWithCulture(ClassName));
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write(" : testML.IDictionaryToObjectConverter\r\n\t{\r\n\t\t");
|
||||||
|
|
||||||
|
#line 15 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
foreach (var key in Definition.Keys)
|
||||||
|
{
|
||||||
|
var type = Definition[key];
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write("\r\n\t\t[ColumnName(\"");
|
||||||
|
|
||||||
|
#line 20 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
this.Write(this.ToStringHelper.ToStringWithCulture(key));
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write("\")]\r\n\t\tpublic ");
|
||||||
|
|
||||||
|
#line 21 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
this.Write(this.ToStringHelper.ToStringWithCulture(type.FullName));
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write(" ");
|
||||||
|
|
||||||
|
#line 21 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
this.Write(this.ToStringHelper.ToStringWithCulture(key));
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write(" { get; set; }\r\n\t\t");
|
||||||
|
|
||||||
|
#line 22 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
} //Fin loop
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write("\r\n\t\tpublic object this[string propertyName]\r\n\t\t{\r\n\t\t\tget { return GetValue(proper" +
|
||||||
|
"tyName); }\r\n\t\t\tset { SetValue(propertyName, value); }\r\n\t\t}\r\n\r\n\t\tpublic void SetV" +
|
||||||
|
"alue(string propertyName, object value)\r\n\t\t{\r\n\t\t\tswitch(propertyName)\r\n\t\t\t{\r\n\t");
|
||||||
|
|
||||||
|
#line 34 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
foreach (var key in Definition.Keys) {
|
||||||
|
var type = Definition[key];
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write("\t\t\t\tcase \"");
|
||||||
|
|
||||||
|
#line 36 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
this.Write(this.ToStringHelper.ToStringWithCulture(key));
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write("\":\t");
|
||||||
|
|
||||||
|
#line 36 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
this.Write(this.ToStringHelper.ToStringWithCulture(key));
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write(" = (");
|
||||||
|
|
||||||
|
#line 36 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
this.Write(this.ToStringHelper.ToStringWithCulture(type.FullName));
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write(")value;\tbreak;\r\n\t");
|
||||||
|
|
||||||
|
#line 37 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
}
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write("\t\t\t}\r\n\t\t}\r\n\r\n\t\tpublic object GetValue(string propertyName)\r\n\t\t{\r\n\t\t\tswitch(proper" +
|
||||||
|
"tyName)\r\n\t\t\t{\r\n\t");
|
||||||
|
|
||||||
|
#line 45 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
foreach (var key in Definition.Keys) {
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write("\t\t\t\tcase \"");
|
||||||
|
|
||||||
|
#line 46 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
this.Write(this.ToStringHelper.ToStringWithCulture(key));
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write("\":\treturn ");
|
||||||
|
|
||||||
|
#line 46 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
this.Write(this.ToStringHelper.ToStringWithCulture(key));
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write(";\r\n\t");
|
||||||
|
|
||||||
|
#line 47 "C:\Users\miguel.maldonado\Documents\Subversion\TestML\testML\DictionaryToObjectConverterClass.tt"
|
||||||
|
}
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
this.Write("\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n}");
|
||||||
|
return this.GenerationEnvironment.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
#region Base class
|
||||||
|
/// <summary>
|
||||||
|
/// Base class for this transformation
|
||||||
|
/// </summary>
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")]
|
||||||
|
public class DictionaryToObjectConverterClassBase
|
||||||
|
{
|
||||||
|
#region Fields
|
||||||
|
private global::System.Text.StringBuilder generationEnvironmentField;
|
||||||
|
private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField;
|
||||||
|
private global::System.Collections.Generic.List<int> indentLengthsField;
|
||||||
|
private string currentIndentField = "";
|
||||||
|
private bool endsWithNewline;
|
||||||
|
private global::System.Collections.Generic.IDictionary<string, object> sessionField;
|
||||||
|
#endregion
|
||||||
|
#region Properties
|
||||||
|
/// <summary>
|
||||||
|
/// The string builder that generation-time code is using to assemble generated output
|
||||||
|
/// </summary>
|
||||||
|
protected System.Text.StringBuilder GenerationEnvironment
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if ((this.generationEnvironmentField == null))
|
||||||
|
{
|
||||||
|
this.generationEnvironmentField = new global::System.Text.StringBuilder();
|
||||||
|
}
|
||||||
|
return this.generationEnvironmentField;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
this.generationEnvironmentField = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// The error collection for the generation process
|
||||||
|
/// </summary>
|
||||||
|
public System.CodeDom.Compiler.CompilerErrorCollection Errors
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if ((this.errorsField == null))
|
||||||
|
{
|
||||||
|
this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection();
|
||||||
|
}
|
||||||
|
return this.errorsField;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// A list of the lengths of each indent that was added with PushIndent
|
||||||
|
/// </summary>
|
||||||
|
private System.Collections.Generic.List<int> indentLengths
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if ((this.indentLengthsField == null))
|
||||||
|
{
|
||||||
|
this.indentLengthsField = new global::System.Collections.Generic.List<int>();
|
||||||
|
}
|
||||||
|
return this.indentLengthsField;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the current indent we use when adding lines to the output
|
||||||
|
/// </summary>
|
||||||
|
public string CurrentIndent
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.currentIndentField;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Current transformation session
|
||||||
|
/// </summary>
|
||||||
|
public virtual global::System.Collections.Generic.IDictionary<string, object> Session
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.sessionField;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
this.sessionField = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
#region Transform-time helpers
|
||||||
|
/// <summary>
|
||||||
|
/// Write text directly into the generated output
|
||||||
|
/// </summary>
|
||||||
|
public void Write(string textToAppend)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(textToAppend))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// If we're starting off, or if the previous text ended with a newline,
|
||||||
|
// we have to append the current indent first.
|
||||||
|
if (((this.GenerationEnvironment.Length == 0)
|
||||||
|
|| this.endsWithNewline))
|
||||||
|
{
|
||||||
|
this.GenerationEnvironment.Append(this.currentIndentField);
|
||||||
|
this.endsWithNewline = false;
|
||||||
|
}
|
||||||
|
// Check if the current text ends with a newline
|
||||||
|
if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture))
|
||||||
|
{
|
||||||
|
this.endsWithNewline = true;
|
||||||
|
}
|
||||||
|
// This is an optimization. If the current indent is "", then we don't have to do any
|
||||||
|
// of the more complex stuff further down.
|
||||||
|
if ((this.currentIndentField.Length == 0))
|
||||||
|
{
|
||||||
|
this.GenerationEnvironment.Append(textToAppend);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Everywhere there is a newline in the text, add an indent after it
|
||||||
|
textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField));
|
||||||
|
// If the text ends with a newline, then we should strip off the indent added at the very end
|
||||||
|
// because the appropriate indent will be added when the next time Write() is called
|
||||||
|
if (this.endsWithNewline)
|
||||||
|
{
|
||||||
|
this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.GenerationEnvironment.Append(textToAppend);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Write text directly into the generated output
|
||||||
|
/// </summary>
|
||||||
|
public void WriteLine(string textToAppend)
|
||||||
|
{
|
||||||
|
this.Write(textToAppend);
|
||||||
|
this.GenerationEnvironment.AppendLine();
|
||||||
|
this.endsWithNewline = true;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Write formatted text directly into the generated output
|
||||||
|
/// </summary>
|
||||||
|
public void Write(string format, params object[] args)
|
||||||
|
{
|
||||||
|
this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args));
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Write formatted text directly into the generated output
|
||||||
|
/// </summary>
|
||||||
|
public void WriteLine(string format, params object[] args)
|
||||||
|
{
|
||||||
|
this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args));
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Raise an error
|
||||||
|
/// </summary>
|
||||||
|
public void Error(string message)
|
||||||
|
{
|
||||||
|
System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError();
|
||||||
|
error.ErrorText = message;
|
||||||
|
this.Errors.Add(error);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Raise a warning
|
||||||
|
/// </summary>
|
||||||
|
public void Warning(string message)
|
||||||
|
{
|
||||||
|
System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError();
|
||||||
|
error.ErrorText = message;
|
||||||
|
error.IsWarning = true;
|
||||||
|
this.Errors.Add(error);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Increase the indent
|
||||||
|
/// </summary>
|
||||||
|
public void PushIndent(string indent)
|
||||||
|
{
|
||||||
|
if ((indent == null))
|
||||||
|
{
|
||||||
|
throw new global::System.ArgumentNullException("indent");
|
||||||
|
}
|
||||||
|
this.currentIndentField = (this.currentIndentField + indent);
|
||||||
|
this.indentLengths.Add(indent.Length);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Remove the last indent that was added with PushIndent
|
||||||
|
/// </summary>
|
||||||
|
public string PopIndent()
|
||||||
|
{
|
||||||
|
string returnValue = "";
|
||||||
|
if ((this.indentLengths.Count > 0))
|
||||||
|
{
|
||||||
|
int indentLength = this.indentLengths[(this.indentLengths.Count - 1)];
|
||||||
|
this.indentLengths.RemoveAt((this.indentLengths.Count - 1));
|
||||||
|
if ((indentLength > 0))
|
||||||
|
{
|
||||||
|
returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength));
|
||||||
|
this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return returnValue;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Remove any indentation
|
||||||
|
/// </summary>
|
||||||
|
public void ClearIndent()
|
||||||
|
{
|
||||||
|
this.indentLengths.Clear();
|
||||||
|
this.currentIndentField = "";
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
#region ToString Helpers
|
||||||
|
/// <summary>
|
||||||
|
/// Utility class to produce culture-oriented representation of an object as a string.
|
||||||
|
/// </summary>
|
||||||
|
public class ToStringInstanceHelper
|
||||||
|
{
|
||||||
|
private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture;
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets format provider to be used by ToStringWithCulture method.
|
||||||
|
/// </summary>
|
||||||
|
public System.IFormatProvider FormatProvider
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.formatProviderField ;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if ((value != null))
|
||||||
|
{
|
||||||
|
this.formatProviderField = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// This is called from the compile/run appdomain to convert objects within an expression block to a string
|
||||||
|
/// </summary>
|
||||||
|
public string ToStringWithCulture(object objectToConvert)
|
||||||
|
{
|
||||||
|
if ((objectToConvert == null))
|
||||||
|
{
|
||||||
|
throw new global::System.ArgumentNullException("objectToConvert");
|
||||||
|
}
|
||||||
|
System.Type t = objectToConvert.GetType();
|
||||||
|
System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] {
|
||||||
|
typeof(System.IFormatProvider)});
|
||||||
|
if ((method == null))
|
||||||
|
{
|
||||||
|
return objectToConvert.ToString();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return ((string)(method.Invoke(objectToConvert, new object[] {
|
||||||
|
this.formatProviderField })));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper();
|
||||||
|
/// <summary>
|
||||||
|
/// Helper to produce culture-oriented representation of an object as a string
|
||||||
|
/// </summary>
|
||||||
|
public ToStringInstanceHelper ToStringHelper
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.toStringHelperField;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
53
testML/DictionaryToObjectConverterClass.tt
Normal file
53
testML/DictionaryToObjectConverterClass.tt
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<#@ template language="C#" #>
|
||||||
|
<#@ assembly name="System.Core" #>
|
||||||
|
<#@ import namespace="System.Linq" #>
|
||||||
|
<#@ import namespace="System.Text" #>
|
||||||
|
<#@ import namespace="System.Collections.Generic" #>
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Text;
|
||||||
|
using Microsoft.ML.Data;
|
||||||
|
|
||||||
|
namespace DictionaryToObjectConverterNamespace
|
||||||
|
{
|
||||||
|
public class <#= ClassName #> : testML.IDictionaryToObjectConverter
|
||||||
|
{
|
||||||
|
<# foreach (var key in Definition.Keys)
|
||||||
|
{
|
||||||
|
var type = Definition[key];
|
||||||
|
#>
|
||||||
|
|
||||||
|
[ColumnName("<#= key #>")]
|
||||||
|
public <#= type.FullName #> <#= key #> { get; set; }
|
||||||
|
<# } //Fin loop #>
|
||||||
|
|
||||||
|
public object this[string propertyName]
|
||||||
|
{
|
||||||
|
get { return GetValue(propertyName); }
|
||||||
|
set { SetValue(propertyName, value); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetValue(string propertyName, object value)
|
||||||
|
{
|
||||||
|
switch(propertyName)
|
||||||
|
{
|
||||||
|
<# foreach (var key in Definition.Keys) {
|
||||||
|
var type = Definition[key]; #>
|
||||||
|
case "<#= key #>": <#= key #> = (<#= type.FullName #>)value; break;
|
||||||
|
<# } #>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public object GetValue(string propertyName)
|
||||||
|
{
|
||||||
|
switch(propertyName)
|
||||||
|
{
|
||||||
|
<# foreach (var key in Definition.Keys) { #>
|
||||||
|
case "<#= key #>": return <#= key #>;
|
||||||
|
<# } #>
|
||||||
|
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,10 +1,16 @@
|
|||||||
using Microsoft.ML;
|
using Microsoft.ML;
|
||||||
|
using Microsoft.ML.AutoML;
|
||||||
using Microsoft.ML.Data;
|
using Microsoft.ML.Data;
|
||||||
using Microsoft.ML.Trainers;
|
using Microsoft.ML.Trainers;
|
||||||
|
using NPOI.XSSF.UserModel;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Dynamic;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using System.Security.AccessControl;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
@@ -13,27 +19,106 @@ namespace testML
|
|||||||
{
|
{
|
||||||
internal class Program
|
internal class Program
|
||||||
{
|
{
|
||||||
static string[] tags = new string[] { "Rojo", "Amarillo", "Verde claro", "Verde oscuro", "Violeta", "Naranja", "Azul", "Blanco" };
|
|
||||||
static Random rnd = new Random();
|
static Random rnd = new Random();
|
||||||
|
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
|
XSSFWorkbook wb;
|
||||||
|
using (FileStream file = new FileStream(@"C:\Users\miguel.maldonado\Downloads\entrenar_IAMenos.xlsx", FileMode.Open, FileAccess.Read))
|
||||||
|
{
|
||||||
|
wb = new XSSFWorkbook(file);
|
||||||
|
}
|
||||||
|
|
||||||
|
var sheet = wb.GetSheetAt(0);
|
||||||
|
|
||||||
|
var headerRow = sheet.GetRow(0);
|
||||||
|
|
||||||
|
|
||||||
#region Preparamos los datos de entrenamiento
|
#region Preparamos los datos de entrenamiento
|
||||||
|
|
||||||
var tmpData = new List<Data>();
|
var tmpData = new List<Dictionary<string, object>>();
|
||||||
|
|
||||||
for (var c = 0; c < 15000; c++)
|
for (var r = 1; r < sheet.LastRowNum - 1; r++)
|
||||||
{
|
{
|
||||||
var d = CreateRandomData();
|
if (r == 30) break;
|
||||||
tmpData.Add(d);
|
Console.WriteLine(string.Format("{0} / {1}", r, sheet.LastRowNum - 1));
|
||||||
|
var row = sheet.GetRow(r);
|
||||||
|
|
||||||
|
var rowData = new Dictionary<string, object>();
|
||||||
|
|
||||||
|
string prefix = string.Empty;
|
||||||
|
|
||||||
|
for (var c = 0; c < headerRow.LastCellNum; c++)
|
||||||
|
{
|
||||||
|
var usePrefix = true;
|
||||||
|
var columnName = headerRow.GetCell(c)?.StringCellValue;
|
||||||
|
|
||||||
|
columnName = FixColumnName(columnName);
|
||||||
|
|
||||||
|
object value = null;
|
||||||
|
|
||||||
|
if (columnName == "PMASCULINO")
|
||||||
|
{
|
||||||
|
prefix = "MASCULINO_";
|
||||||
|
usePrefix = false;
|
||||||
|
}
|
||||||
|
if (columnName == "PFEMENINO")
|
||||||
|
{
|
||||||
|
prefix = "FEMENINO_";
|
||||||
|
usePrefix = false;
|
||||||
|
}
|
||||||
|
if (columnName == "DESCENDIENTE")
|
||||||
|
{
|
||||||
|
prefix = "DESCENDIENTE_";
|
||||||
|
usePrefix = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
switch (row.GetCell(c)?.CellType)
|
||||||
|
{
|
||||||
|
case NPOI.SS.UserModel.CellType.Numeric: value = row.GetCell(c)?.NumericCellValue; break;
|
||||||
|
case NPOI.SS.UserModel.CellType.String: value = row.GetCell(c)?.StringCellValue; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
string valuePrefix = string.Empty;
|
||||||
|
if (columnName.StartsWith("S4i") || columnName.StartsWith("SNP"))
|
||||||
|
{
|
||||||
|
valuePrefix = columnName + "_";
|
||||||
|
}
|
||||||
|
|
||||||
|
var finalColumnName = (usePrefix ? prefix : string.Empty) + columnName;
|
||||||
|
if (value is string)
|
||||||
|
{
|
||||||
|
rowData.Add(finalColumnName, valuePrefix + value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rowData.Add(finalColumnName, value?.ToString() ?? "");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
tmpData.Add(rowData);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MLContext mlContext = new MLContext();
|
MLContext mlContext = new MLContext();
|
||||||
var data = mlContext.Data.LoadFromEnumerable(tmpData);
|
|
||||||
|
var dataConverted = DictionaryToObjectConverter.Convert(tmpData, out Type classType, out DataViewSchema schema);
|
||||||
|
|
||||||
|
var loadMethod = mlContext.Data.GetType().GetMethods().Where(x => x.Name == "LoadFromEnumerable" && x.IsGenericMethodDefinition).FirstOrDefault();
|
||||||
|
|
||||||
|
var loadMethodObj = loadMethod.MakeGenericMethod(classType);
|
||||||
|
var data = (IDataView)loadMethodObj.Invoke(mlContext.Data, new object[] { dataConverted, null });
|
||||||
|
|
||||||
|
|
||||||
|
//var data = mlContext.Data.LoadFromEnumerable(dataConverted, schema);
|
||||||
|
|
||||||
|
//var data = new DictionaryView<Expando>(tmpData, schema.ToSchema(), converter);
|
||||||
|
|
||||||
#region Cortamos los datos de entrenamiento en (Datos para entenar y Datos para hacer el test de precisión)
|
#region Cortamos los datos de entrenamiento en (Datos para entenar y Datos para hacer el test de precisión)
|
||||||
|
|
||||||
@@ -45,20 +130,60 @@ namespace testML
|
|||||||
|
|
||||||
#region Preparamos los datos de entrada y salida
|
#region Preparamos los datos de entrada y salida
|
||||||
|
|
||||||
var trainer = mlContext.Regression.Trainers.Sdca(maximumNumberOfIterations:1000);
|
//var trainer = mlContext.Regression.Trainers.Sdca(maximumNumberOfIterations: 100);
|
||||||
//var trainer = mlContext.Regression.Trainers.OnlineGradientDescent(numberOfIterations: 100, learningRate: 0.01f );
|
var trainer = mlContext.Regression.Trainers.OnlineGradientDescent(numberOfIterations: 100, learningRate: 0.01f);
|
||||||
|
|
||||||
var pipeline = mlContext.Transforms.CopyColumns(outputColumnName: "Label", inputColumnName: "IntegerNumber")
|
//var pipeline = mlContext.Transforms.CopyColumns(outputColumnName: "Label", inputColumnName: "DESCENDIENTE_S4i001");
|
||||||
.Append(mlContext.Transforms.Text.NormalizeText("StringTest"))
|
//IEstimator<ITransformer> pipe = (IEstimator<ITransformer>)pipeline;
|
||||||
.Append(mlContext.Transforms.Text.FeaturizeText("StringTest"))
|
|
||||||
.Append(mlContext.Transforms.Concatenate("Features", "Enum1", "Enum2", "Enum3", "Enum4", "StringTest"))
|
//pipe = pipe.Append(mlContext.Transforms.Text.NormalizeText("Label"));
|
||||||
.Append(mlContext.Transforms.NormalizeMinMax("Features"))
|
//pipe = pipe.Append(mlContext.Transforms.Text.FeaturizeText("Label"));
|
||||||
.Append(trainer);
|
var firstRow = tmpData[0] as IDictionary<string, object>;
|
||||||
|
|
||||||
|
var columnInference = new ColumnInformation()
|
||||||
|
{
|
||||||
|
LabelColumnName = "DESCENDIENTE_S4i001"
|
||||||
|
};
|
||||||
|
|
||||||
|
foreach (var key in firstRow.Keys)
|
||||||
|
{
|
||||||
|
if (key == columnInference.LabelColumnName)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (key.Contains("_S4i") || key.Contains("_SNP"))
|
||||||
|
{
|
||||||
|
columnInference.CategoricalColumnNames.Add(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mlContext.Log += (_, e) => {
|
||||||
|
if (e.Source.Equals("AutoMLExperiment"))
|
||||||
|
{
|
||||||
|
Console.WriteLine(e.RawMessage);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
SweepablePipeline pipeline = mlContext.Auto().Featurizer(data, columnInference)
|
||||||
|
.Append(mlContext.Auto().Regression(labelColumnName: columnInference.LabelColumnName));
|
||||||
|
|
||||||
|
AutoMLExperiment experiment = mlContext.Auto().CreateExperiment();
|
||||||
|
|
||||||
|
experiment
|
||||||
|
.SetPipeline(pipeline)
|
||||||
|
.SetRegressionMetric(RegressionMetric.RSquared, labelColumn: columnInference.LabelColumnName)
|
||||||
|
.SetTrainingTimeInSeconds(60)
|
||||||
|
.SetDataset(trainData);
|
||||||
|
|
||||||
|
var result = experiment.Run();
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
/*
|
||||||
//Entrenamos el modelo
|
//Entrenamos el modelo
|
||||||
ITransformer model = pipeline.Fit(trainData);
|
ITransformer model = pipe.Fit(trainData);
|
||||||
|
|
||||||
#region Hacemos un test para medir el % de error
|
#region Hacemos un test para medir el % de error
|
||||||
|
|
||||||
@@ -90,14 +215,35 @@ namespace testML
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
*/
|
||||||
|
|
||||||
Console.WriteLine();
|
Console.WriteLine();
|
||||||
Console.WriteLine("Press enter to Exit");
|
Console.WriteLine("Press enter to Exit");
|
||||||
Console.ReadLine();
|
Console.ReadLine();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static string FixColumnName(string columnName)
|
||||||
|
{
|
||||||
|
var result = new StringBuilder(columnName.Length);
|
||||||
|
|
||||||
|
foreach (var c in columnName)
|
||||||
|
{
|
||||||
|
if (c == 'º' || c == 'ª')
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (char.IsLetter(c) ||
|
||||||
|
char.IsNumber(c) ||
|
||||||
|
(c == '_'))
|
||||||
|
{
|
||||||
|
result.Append(c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
private static Data CreateRandomData()
|
private static Data CreateRandomData()
|
||||||
{
|
{
|
||||||
var d = new Data()
|
var d = new Data()
|
||||||
@@ -107,9 +253,11 @@ namespace testML
|
|||||||
Enum2 = rnd.Next(1, 11),
|
Enum2 = rnd.Next(1, 11),
|
||||||
Enum3 = rnd.Next(1, 6),
|
Enum3 = rnd.Next(1, 6),
|
||||||
Enum4 = rnd.Next(1, 6),
|
Enum4 = rnd.Next(1, 6),
|
||||||
StringTest = tags[rnd.Next(0, tags.Length)]
|
// StringTest = tags[rnd.Next(0, tags.Length)]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
d.Enum4 = d.Enum1 + d.Enum2;
|
||||||
|
|
||||||
// Ponemos algunos datos que tengan alguna relación (la red neuronal debería calibrarse para comprender esta formula)
|
// Ponemos algunos datos que tengan alguna relación (la red neuronal debería calibrarse para comprender esta formula)
|
||||||
d.IntegerNumber = (((d.Enum1 + d.Enum2) - (d.Enum3 + d.Enum4)) * 5.25f) + d.StringTest.Length;
|
d.IntegerNumber = (((d.Enum1 + d.Enum2) - (d.Enum3 + d.Enum4)) * 5.25f) + d.StringTest.Length;
|
||||||
|
|
||||||
@@ -133,4 +281,5 @@ namespace testML
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,60 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
|
<package id="Google.Protobuf" version="3.21.9" targetFramework="net48" />
|
||||||
|
<package id="LightGBM" version="2.3.1" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.Bcl.AsyncInterfaces" version="6.0.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.CodeAnalysis.Analyzers" version="3.0.0" targetFramework="net48" developmentDependency="true" />
|
||||||
|
<package id="Microsoft.CodeAnalysis.Common" version="3.9.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.CodeAnalysis.CSharp" version="3.9.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.Extensions.DependencyInjection" version="6.0.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="6.0.0" targetFramework="net48" />
|
||||||
<package id="Microsoft.ML" version="2.0.0" targetFramework="net48" />
|
<package id="Microsoft.ML" version="2.0.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.AutoML" version="0.20.0" targetFramework="net48" />
|
||||||
<package id="Microsoft.ML.CpuMath" version="2.0.0" targetFramework="net48" />
|
<package id="Microsoft.ML.CpuMath" version="2.0.0" targetFramework="net48" />
|
||||||
<package id="Microsoft.ML.DataView" version="2.0.0" targetFramework="net48" />
|
<package id="Microsoft.ML.DataView" version="2.0.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.DnnImageFeaturizer.AlexNet" version="0.20.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.DnnImageFeaturizer.ResNet101" version="0.20.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.DnnImageFeaturizer.ResNet18" version="0.20.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.DnnImageFeaturizer.ResNet50" version="0.20.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.FastTree" version="2.0.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.ImageAnalytics" version="2.0.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.LightGbm" version="2.0.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.Mkl.Components" version="2.0.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.Mkl.Redist" version="2.0.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.OnnxRuntime.Managed" version="1.10.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.OnnxTransformer" version="2.0.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.Recommender" version="0.20.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.TensorFlow" version="2.0.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.TimeSeries" version="2.0.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.Tokenizers" version="0.20.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.TorchSharp" version="0.20.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.ML.Vision" version="2.0.0" targetFramework="net48" />
|
||||||
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net48" />
|
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net48" />
|
||||||
<package id="System.Buffers" version="4.4.0" targetFramework="net48" />
|
<package id="NPOI.Excel" version="2.1.1" targetFramework="net48" />
|
||||||
|
<package id="NumSharp.Lite" version="0.1.8" targetFramework="net48" />
|
||||||
|
<package id="Protobuf.Text" version="0.4.0" targetFramework="net48" />
|
||||||
|
<package id="SharpZipLib" version="0.86.0" targetFramework="net48" />
|
||||||
|
<package id="SkiaSharp" version="2.88.3" targetFramework="net48" />
|
||||||
|
<package id="SkiaSharp.NativeAssets.Linux.NoDependencies" version="2.88.3" targetFramework="net48" />
|
||||||
|
<package id="SkiaSharp.NativeAssets.macOS" version="2.88.3" targetFramework="net48" />
|
||||||
|
<package id="SkiaSharp.NativeAssets.Win32" version="2.88.3" targetFramework="net48" />
|
||||||
|
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
|
||||||
<package id="System.CodeDom" version="4.5.0" targetFramework="net48" />
|
<package id="System.CodeDom" version="4.5.0" targetFramework="net48" />
|
||||||
<package id="System.Collections.Immutable" version="1.5.0" targetFramework="net48" />
|
<package id="System.Collections.Immutable" version="5.0.0" targetFramework="net48" />
|
||||||
<package id="System.Memory" version="4.5.3" targetFramework="net48" />
|
<package id="System.IO.FileSystem.AccessControl" version="4.5.0" targetFramework="net48" />
|
||||||
<package id="System.Numerics.Vectors" version="4.4.0" targetFramework="net48" />
|
<package id="System.Memory" version="4.5.4" targetFramework="net48" />
|
||||||
|
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
|
||||||
<package id="System.Reflection.Emit.Lightweight" version="4.3.0" targetFramework="net48" />
|
<package id="System.Reflection.Emit.Lightweight" version="4.3.0" targetFramework="net48" />
|
||||||
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.3" targetFramework="net48" />
|
<package id="System.Reflection.Metadata" version="5.0.0" targetFramework="net48" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net48" />
|
||||||
|
<package id="System.Security.AccessControl" version="4.5.0" targetFramework="net48" />
|
||||||
|
<package id="System.Security.Principal.Windows" version="4.5.0" targetFramework="net48" />
|
||||||
|
<package id="System.Text.Encoding.CodePages" version="4.5.1" targetFramework="net48" />
|
||||||
|
<package id="System.Text.Encodings.Web" version="6.0.0" targetFramework="net48" />
|
||||||
|
<package id="System.Text.Json" version="6.0.1" targetFramework="net48" />
|
||||||
<package id="System.Threading.Channels" version="4.7.1" targetFramework="net48" />
|
<package id="System.Threading.Channels" version="4.7.1" targetFramework="net48" />
|
||||||
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net48" />
|
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net48" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net48" />
|
||||||
|
<package id="TensorFlow.NET" version="0.20.1" targetFramework="net48" />
|
||||||
|
<package id="TorchSharp" version="0.99.0" targetFramework="net48" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -1,5 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\packages\Microsoft.ML.Recommender.0.20.0\build\netstandard2.0\Microsoft.ML.Recommender.props" Condition="Exists('..\packages\Microsoft.ML.Recommender.0.20.0\build\netstandard2.0\Microsoft.ML.Recommender.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet50.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet50.props" Condition="Exists('..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet50.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet50.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet18.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet18.props" Condition="Exists('..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet18.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet18.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet101.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet101.props" Condition="Exists('..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet101.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet101.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.ML.DnnImageFeaturizer.AlexNet.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.AlexNet.props" Condition="Exists('..\packages\Microsoft.ML.DnnImageFeaturizer.AlexNet.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.AlexNet.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.ML.Mkl.Components.2.0.0\build\netstandard2.0\Microsoft.ML.Mkl.Components.props" Condition="Exists('..\packages\Microsoft.ML.Mkl.Components.2.0.0\build\netstandard2.0\Microsoft.ML.Mkl.Components.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.ML.FastTree.2.0.0\build\netstandard2.0\Microsoft.ML.FastTree.props" Condition="Exists('..\packages\Microsoft.ML.FastTree.2.0.0\build\netstandard2.0\Microsoft.ML.FastTree.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.ML.Mkl.Redist.2.0.0\build\netstandard2.0\Microsoft.ML.Mkl.Redist.props" Condition="Exists('..\packages\Microsoft.ML.Mkl.Redist.2.0.0\build\netstandard2.0\Microsoft.ML.Mkl.Redist.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.CodeAnalysis.Analyzers.3.0.0\build\Microsoft.CodeAnalysis.Analyzers.props" Condition="Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.0.0\build\Microsoft.CodeAnalysis.Analyzers.props')" />
|
||||||
|
<Import Project="..\packages\LightGBM.2.3.1\build\LightGBM.props" Condition="Exists('..\packages\LightGBM.2.3.1\build\LightGBM.props')" />
|
||||||
<Import Project="..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.props" Condition="Exists('..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.props')" />
|
<Import Project="..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.props" Condition="Exists('..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.props')" />
|
||||||
<Import Project="..\packages\Microsoft.ML.CpuMath.2.0.0\build\netstandard2.0\Microsoft.ML.CpuMath.props" Condition="Exists('..\packages\Microsoft.ML.CpuMath.2.0.0\build\netstandard2.0\Microsoft.ML.CpuMath.props')" />
|
<Import Project="..\packages\Microsoft.ML.CpuMath.2.0.0\build\netstandard2.0\Microsoft.ML.CpuMath.props" Condition="Exists('..\packages\Microsoft.ML.CpuMath.2.0.0\build\netstandard2.0\Microsoft.ML.CpuMath.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
@@ -40,9 +50,33 @@
|
|||||||
<StartupObject>testML.Program</StartupObject>
|
<StartupObject>testML.Program</StartupObject>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Reference Include="Google.Protobuf, Version=3.21.9.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Google.Protobuf.3.21.9\lib\net45\Google.Protobuf.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CodeAnalysis, Version=3.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.CodeAnalysis.Common.3.9.0\lib\netstandard2.0\Microsoft.CodeAnalysis.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CodeAnalysis.CSharp, Version=3.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.3.9.0\lib\netstandard2.0\Microsoft.CodeAnalysis.CSharp.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Extensions.DependencyInjection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.6.0.0\lib\net461\Microsoft.Extensions.DependencyInjection.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.6.0.0\lib\net461\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Microsoft.ML, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.ML, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Microsoft.ML.2.0.0\lib\netstandard2.0\Microsoft.ML.dll</HintPath>
|
<HintPath>..\packages\Microsoft.ML.2.0.0\lib\netstandard2.0\Microsoft.ML.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.AutoML, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.AutoML.0.20.0\lib\netstandard2.0\Microsoft.ML.AutoML.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Microsoft.ML.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.ML.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Microsoft.ML.2.0.0\lib\netstandard2.0\Microsoft.ML.Core.dll</HintPath>
|
<HintPath>..\packages\Microsoft.ML.2.0.0\lib\netstandard2.0\Microsoft.ML.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -55,41 +89,134 @@
|
|||||||
<Reference Include="Microsoft.ML.DataView, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.ML.DataView, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Microsoft.ML.DataView.2.0.0\lib\netstandard2.0\Microsoft.ML.DataView.dll</HintPath>
|
<HintPath>..\packages\Microsoft.ML.DataView.2.0.0\lib\netstandard2.0\Microsoft.ML.DataView.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.DnnImageFeaturizer.AlexNet, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.DnnImageFeaturizer.AlexNet.0.20.0\lib\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.AlexNet.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.DnnImageFeaturizer.ResNet101, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet101.0.20.0\lib\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet101.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.DnnImageFeaturizer.ResNet18, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet18.0.20.0\lib\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet18.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.DnnImageFeaturizer.ResNet50, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet50.0.20.0\lib\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet50.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.FastTree, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.FastTree.2.0.0\lib\netstandard2.0\Microsoft.ML.FastTree.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.ImageAnalytics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.ImageAnalytics.2.0.0\lib\netstandard2.0\Microsoft.ML.ImageAnalytics.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Microsoft.ML.KMeansClustering, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.ML.KMeansClustering, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Microsoft.ML.2.0.0\lib\netstandard2.0\Microsoft.ML.KMeansClustering.dll</HintPath>
|
<HintPath>..\packages\Microsoft.ML.2.0.0\lib\netstandard2.0\Microsoft.ML.KMeansClustering.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.LightGbm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.LightGbm.2.0.0\lib\netstandard2.0\Microsoft.ML.LightGbm.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.Mkl.Components, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.Mkl.Components.2.0.0\lib\netstandard2.0\Microsoft.ML.Mkl.Components.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.OnnxRuntime, Version=0.0.0.0, Culture=neutral, PublicKeyToken=f27f157f0a5b7bb6, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.OnnxRuntime.Managed.1.10.0\lib\netstandard2.0\Microsoft.ML.OnnxRuntime.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.OnnxTransformer, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.OnnxTransformer.2.0.0\lib\netstandard2.0\Microsoft.ML.OnnxTransformer.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Microsoft.ML.PCA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.ML.PCA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Microsoft.ML.2.0.0\lib\netstandard2.0\Microsoft.ML.PCA.dll</HintPath>
|
<HintPath>..\packages\Microsoft.ML.2.0.0\lib\netstandard2.0\Microsoft.ML.PCA.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.Recommender, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.Recommender.0.20.0\lib\netstandard2.0\Microsoft.ML.Recommender.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.SearchSpace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.AutoML.0.20.0\lib\netstandard2.0\Microsoft.ML.SearchSpace.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Microsoft.ML.StandardTrainers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.ML.StandardTrainers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Microsoft.ML.2.0.0\lib\netstandard2.0\Microsoft.ML.StandardTrainers.dll</HintPath>
|
<HintPath>..\packages\Microsoft.ML.2.0.0\lib\netstandard2.0\Microsoft.ML.StandardTrainers.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.TensorFlow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.TensorFlow.2.0.0\lib\netstandard2.0\Microsoft.ML.TensorFlow.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.TimeSeries, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.TimeSeries.2.0.0\lib\netstandard2.0\Microsoft.ML.TimeSeries.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.Tokenizers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.Tokenizers.0.20.0\lib\netstandard2.0\Microsoft.ML.Tokenizers.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.TorchSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.TorchSharp.0.20.0\lib\netstandard2.0\Microsoft.ML.TorchSharp.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Microsoft.ML.Transforms, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.ML.Transforms, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Microsoft.ML.2.0.0\lib\netstandard2.0\Microsoft.ML.Transforms.dll</HintPath>
|
<HintPath>..\packages\Microsoft.ML.2.0.0\lib\netstandard2.0\Microsoft.ML.Transforms.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.ML.Vision, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.ML.Vision.2.0.0\lib\netstandard2.0\Microsoft.ML.Vision.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="NPOI, Version=2.1.1.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\NPOI.Excel.2.1.1\lib\NPOI.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="NPOI.OOXML, Version=2.1.1.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\NPOI.Excel.2.1.1\lib\NPOI.OOXML.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="NPOI.OpenXml4Net, Version=2.1.1.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\NPOI.Excel.2.1.1\lib\NPOI.OpenXml4Net.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="NPOI.OpenXmlFormats, Version=2.1.1.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\NPOI.Excel.2.1.1\lib\NPOI.OpenXmlFormats.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="NumSharp.Lite, Version=0.1.8.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\NumSharp.Lite.0.1.8\lib\netstandard2.0\NumSharp.Lite.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Protobuf.Text, Version=0.4.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Protobuf.Text.0.4.0\lib\netstandard2.0\Protobuf.Text.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="SkiaSharp, Version=2.88.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\SkiaSharp.2.88.3\lib\net462\SkiaSharp.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Buffers, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll</HintPath>
|
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.CodeDom, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="System.CodeDom, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.CodeDom.4.5.0\lib\net461\System.CodeDom.dll</HintPath>
|
<HintPath>..\packages\System.CodeDom.4.5.0\lib\net461\System.CodeDom.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Collections.Immutable, Version=1.2.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
<Reference Include="System.Collections.Immutable, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Collections.Immutable.1.5.0\lib\netstandard2.0\System.Collections.Immutable.dll</HintPath>
|
<HintPath>..\packages\System.Collections.Immutable.5.0.0\lib\net461\System.Collections.Immutable.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.IO.FileSystem.AccessControl, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.IO.FileSystem.AccessControl.4.5.0\lib\net461\System.IO.FileSystem.AccessControl.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll</HintPath>
|
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Numerics" />
|
<Reference Include="System.Numerics" />
|
||||||
<Reference Include="System.Numerics.Vectors, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
<Reference Include="System.Reflection.Metadata, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
<HintPath>..\packages\System.Reflection.Metadata.5.0.0\lib\net461\System.Reflection.Metadata.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Security.AccessControl, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Security.AccessControl.4.5.0\lib\net461\System.Security.AccessControl.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Security.Principal.Windows, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Security.Principal.Windows.4.5.0\lib\net461\System.Security.Principal.Windows.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Text.Encoding.CodePages, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Text.Encoding.CodePages.4.5.1\lib\net461\System.Text.Encoding.CodePages.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Text.Encodings.Web, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Text.Encodings.Web.6.0.0\lib\net461\System.Text.Encodings.Web.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Text.Json, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Text.Json.6.0.1\lib\net461\System.Text.Json.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Threading.Channels, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="System.Threading.Channels, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Threading.Channels.4.7.1\lib\net461\System.Threading.Channels.dll</HintPath>
|
<HintPath>..\packages\System.Threading.Channels.4.7.1\lib\net461\System.Threading.Channels.dll</HintPath>
|
||||||
@@ -97,22 +224,50 @@
|
|||||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Net.Http" />
|
<Reference Include="System.Net.Http" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="TensorFlow.NET, Version=0.20.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\TensorFlow.NET.0.20.1\lib\netstandard2.0\TensorFlow.NET.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="TorchSharp, Version=0.99.0.0, Culture=neutral, PublicKeyToken=67b0e5e1da516a1c, processorArchitecture=AMD64">
|
||||||
|
<HintPath>..\packages\TorchSharp.0.99.0\lib\netstandard2.0\TorchSharp.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Data.cs" />
|
<Compile Include="Data.cs" />
|
||||||
|
<Compile Include="DictionaryToObjectConverter.cs" />
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="DictionaryToObjectConverterClass.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<DependentUpon>DictionaryToObjectConverterClass.tt</DependentUpon>
|
||||||
|
</Compile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="App.config" />
|
<None Include="App.config" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="DictionaryToObjectConverterClass.tt">
|
||||||
|
<Generator>TextTemplatingFilePreprocessor</Generator>
|
||||||
|
<LastGenOutput>DictionaryToObjectConverterClass.cs</LastGenOutput>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.3.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
|
||||||
|
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.3.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
@@ -121,6 +276,30 @@
|
|||||||
<Error Condition="!Exists('..\packages\Microsoft.ML.CpuMath.2.0.0\build\netstandard2.0\Microsoft.ML.CpuMath.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.CpuMath.2.0.0\build\netstandard2.0\Microsoft.ML.CpuMath.props'))" />
|
<Error Condition="!Exists('..\packages\Microsoft.ML.CpuMath.2.0.0\build\netstandard2.0\Microsoft.ML.CpuMath.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.CpuMath.2.0.0\build\netstandard2.0\Microsoft.ML.CpuMath.props'))" />
|
||||||
<Error Condition="!Exists('..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.props'))" />
|
<Error Condition="!Exists('..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.props'))" />
|
||||||
<Error Condition="!Exists('..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.targets'))" />
|
<Error Condition="!Exists('..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\LightGBM.2.3.1\build\LightGBM.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\LightGBM.2.3.1\build\LightGBM.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\LightGBM.2.3.1\build\LightGBM.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\LightGBM.2.3.1\build\LightGBM.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.0.0\build\Microsoft.CodeAnalysis.Analyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.Analyzers.3.0.0\build\Microsoft.CodeAnalysis.Analyzers.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.0.0\build\Microsoft.CodeAnalysis.Analyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.Analyzers.3.0.0\build\Microsoft.CodeAnalysis.Analyzers.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.ML.Mkl.Redist.2.0.0\build\netstandard2.0\Microsoft.ML.Mkl.Redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.Mkl.Redist.2.0.0\build\netstandard2.0\Microsoft.ML.Mkl.Redist.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\SkiaSharp.NativeAssets.macOS.2.88.3\build\net462\SkiaSharp.NativeAssets.macOS.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\SkiaSharp.NativeAssets.macOS.2.88.3\build\net462\SkiaSharp.NativeAssets.macOS.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\SkiaSharp.NativeAssets.Win32.2.88.3\build\net462\SkiaSharp.NativeAssets.Win32.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\SkiaSharp.NativeAssets.Win32.2.88.3\build\net462\SkiaSharp.NativeAssets.Win32.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.ML.OnnxRuntime.Managed.1.10.0\build\netstandard2.0\Microsoft.ML.OnnxRuntime.Managed.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.OnnxRuntime.Managed.1.10.0\build\netstandard2.0\Microsoft.ML.OnnxRuntime.Managed.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\SkiaSharp.NativeAssets.Linux.NoDependencies.2.88.3\build\net462\SkiaSharp.NativeAssets.Linux.NoDependencies.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\SkiaSharp.NativeAssets.Linux.NoDependencies.2.88.3\build\net462\SkiaSharp.NativeAssets.Linux.NoDependencies.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.ML.FastTree.2.0.0\build\netstandard2.0\Microsoft.ML.FastTree.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.FastTree.2.0.0\build\netstandard2.0\Microsoft.ML.FastTree.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.ML.Mkl.Components.2.0.0\build\netstandard2.0\Microsoft.ML.Mkl.Components.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.Mkl.Components.2.0.0\build\netstandard2.0\Microsoft.ML.Mkl.Components.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.ML.DnnImageFeaturizer.AlexNet.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.AlexNet.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.DnnImageFeaturizer.AlexNet.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.AlexNet.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet101.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet101.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet101.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet101.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet18.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet18.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet18.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet18.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet50.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet50.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.DnnImageFeaturizer.ResNet50.0.20.0\build\netstandard2.0\Microsoft.ML.DnnImageFeaturizer.ResNet50.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.ML.Recommender.0.20.0\build\netstandard2.0\Microsoft.ML.Recommender.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ML.Recommender.0.20.0\build\netstandard2.0\Microsoft.ML.Recommender.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\System.Text.Json.6.0.1\build\System.Text.Json.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Text.Json.6.0.1\build\System.Text.Json.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
<Import Project="..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.targets" Condition="Exists('..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.targets')" />
|
<Import Project="..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.targets" Condition="Exists('..\packages\Microsoft.ML.2.0.0\build\netstandard2.0\Microsoft.ML.targets')" />
|
||||||
|
<Import Project="..\packages\LightGBM.2.3.1\build\LightGBM.targets" Condition="Exists('..\packages\LightGBM.2.3.1\build\LightGBM.targets')" />
|
||||||
|
<Import Project="..\packages\Microsoft.CodeAnalysis.Analyzers.3.0.0\build\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('..\packages\Microsoft.CodeAnalysis.Analyzers.3.0.0\build\Microsoft.CodeAnalysis.Analyzers.targets')" />
|
||||||
|
<Import Project="..\packages\SkiaSharp.NativeAssets.macOS.2.88.3\build\net462\SkiaSharp.NativeAssets.macOS.targets" Condition="Exists('..\packages\SkiaSharp.NativeAssets.macOS.2.88.3\build\net462\SkiaSharp.NativeAssets.macOS.targets')" />
|
||||||
|
<Import Project="..\packages\SkiaSharp.NativeAssets.Win32.2.88.3\build\net462\SkiaSharp.NativeAssets.Win32.targets" Condition="Exists('..\packages\SkiaSharp.NativeAssets.Win32.2.88.3\build\net462\SkiaSharp.NativeAssets.Win32.targets')" />
|
||||||
|
<Import Project="..\packages\Microsoft.ML.OnnxRuntime.Managed.1.10.0\build\netstandard2.0\Microsoft.ML.OnnxRuntime.Managed.targets" Condition="Exists('..\packages\Microsoft.ML.OnnxRuntime.Managed.1.10.0\build\netstandard2.0\Microsoft.ML.OnnxRuntime.Managed.targets')" />
|
||||||
|
<Import Project="..\packages\SkiaSharp.NativeAssets.Linux.NoDependencies.2.88.3\build\net462\SkiaSharp.NativeAssets.Linux.NoDependencies.targets" Condition="Exists('..\packages\SkiaSharp.NativeAssets.Linux.NoDependencies.2.88.3\build\net462\SkiaSharp.NativeAssets.Linux.NoDependencies.targets')" />
|
||||||
|
<Import Project="..\packages\System.Text.Json.6.0.1\build\System.Text.Json.targets" Condition="Exists('..\packages\System.Text.Json.6.0.1\build\System.Text.Json.targets')" />
|
||||||
</Project>
|
</Project>
|
||||||
Reference in New Issue
Block a user