dotnet / dotnet/machinelearning-samples

Fsx script not working

オープン
#985 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
PowerShell
スター
4.7k
フォーク
2.7k
平均マージ
2日 22時間
マージ済み PR(30日)
1

説明

Is .fsx not supported ?

I can't reproduce the simple demo in F# script , this doesnt seem to work

```fsharp
#r "nuget: Microsoft.ML"

open Microsoft.ML
open Microsoft.ML.Data

[]
type HouseData =
{ [] Size: float32
[] Price: float32 option }

[]
type Prediction =
{ [] Price: float32 }

let mlContext = new MLContext()

// 1. Import or create training data
let houseData = [| { Size = 1.1F; Price = Some(1.2F) };
{ Size = 1.9F; Price = Some(2.3F) };
{ Size = 2.8F; Price = Some(3.0F) };
{ Size = 3.4F; Price = Some(3.7F) } |]
let trainingData = mlContext.Data.LoadFromEnumerable(houseData)

// 2. Specify data preparation and model training pipeline
let pipeline =
EstimatorChain()
.Append(
mlContext.Transforms.Concatenate("Features", [| "Size" |])
)
.Append(
mlContext.Regression.Trainers
.Sdca(labelColumnName = "Price", maximumNumberOfIterations = 100)
)

// 3. Train model
let model = pipeline.Fit(trainingData)

// 4. Make a prediction
let size = { Size = 2.5F ; Price = None }

let predictionFunc =
mlContext.Model.CreatePredictionEngine(model)

let price = predictionFunc.Predict(size)

printfn "Predicted price for size: %f sq ft= %f" (size.Size * 1000.0F) (price.Price * 100.0F)
// Predicted price for size: 2500.0 sq ft= 261.979980

```

here is the error

```
/Users/admin/.packagemanagement/nuget/Projects/54657--8671ee2c-1953-4d65-be3f-818b53cc0f76/Project.fsproj : warning NU1701: Package 'System.Xml.Linq 3.5.21022.801' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework 'net7.0'. This package may not be fully compatible with your project.
/Users/admin/.packagemanagement/nuget/Projects/54657--8671ee2c-1953-4d65-be3f-818b53cc0f76/Project.fsproj : warning NU1701: Package 'System.Xml.Linq 3.5.21022.801' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework 'net7.0'. This package may not be fully compatible with your project.
[Loading /Users/admin/.packagemanagement/nuget/Projects/54657--8671ee2c-1953-4d65-be3f-818b53cc0f76/Project.fsproj.fsx]
module FSI_0015.Project.fsproj

System.ArgumentOutOfRangeException: Could not determine an IDataView type and registered custom types for member Price@ (Parameter 'rawType')
at Microsoft.ML.Data.InternalSchemaDefinition.GetVectorAndItemType(String name, Type rawType, IEnumerable`1 attributes, Boolean& isVector, Type& itemType)
at Microsoft.ML.Data.InternalSchemaDefinition.GetVectorAndItemType(MemberInfo memberInfo, Boolean& isVector, Type& itemType)
at Microsoft.ML.Data.SchemaDefinition.Create(Type userType, Direction direction)
at Microsoft.ML.Data.InternalSchemaDefinition.Create(Type userType, Direction direction)
at Microsoft.ML.Data.DataViewConstructionUtils.CreateFromEnumerable[TRow](IHostEnvironment env, IEnumerable`1 data, SchemaDefinition schemaDefinition)
at Microsoft.ML.DataOperationsCatalog.LoadFromEnumerable[TRow](IEnumerable`1 data, SchemaDefinition schemaDefinition)
at .$FSI_0016.main@() in /Users/admin/Repositories/scripts/mlanonimizer.fsx:line 380
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
Stopped due to error
```

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、提供された .fsx スクリプトを実行し、Project.fsproj.fsx のトレースにおける LoadFromEnumerable の失敗を調査します。特に F# の option メンバー Price を確認してください。このサンプルで .fsx スクリプトがサポートされているか、また報告された IDataView 型エラーが想定されるものかどうかを判断します。完了条件は、確認済みの診断が得られ、サンプルが動作するか、制限事項が文書化されていることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
fsharp
領域
machine-learning
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
38/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。