2025/05/04

キーボードマクロ

まだ現役だった頃のテキストエディターの定番といえばMIFESでした。DOSでも使ったし、Windowsになっても利用してました。最新版とか購入するのもありかもですが、まあ、そこまでのこだわりも無く、最近はサクラエディター利用してます。しかし、そもそもVisual Studioにキーボードマクロがあればそれはそれで使い勝手も良いかなと思い、少し前にも検索した記憶も無くも無いけど...

Text Macros for Visual Studio 2019-2022なんてのがある事をCopilotに教えてもらいました。ただ、教えてもらったのは良いんですが、今新馬戦用のモデルの訓練中でどうだろ?天皇賞出走前に500epochsスタートして今152とかまで来たので5時間で150とすると2~3分かなぁ。残り350epochs×3minだと17.5時間って明日13時過ぎだorz

いや、何ってインストール指示しても全てのVisual Studioが終了しないとインストールされないから...Visual Studioのデバッグモードでモデルの訓練してるのでどうしようもないです。まあ、終わったらインストールしてどんな感じか試してみます。

第171回天皇賞(春)

全く時間が足りてない。TensorFlowになのかPythonがそもそも理解出来てないのが原因かは何ともですが、まあ、どちらも理解しきれてないのは確かです。でも、何とか新馬戦用の訓練が始まる所まではこぎつけて今訓練中です。でも、ちと、順位予測の方にもバグがあったかもなのが気になるのでそちらも対処した後に通常版行くんですが、新馬戦用でも千を超える項目で通常版では途方もない数になるので作業もデバッグも半端ない事になりそうです😱

2025/04/30

スゲー!のかな? Visual StudioのIntellisense!!

これ、少し前ってかVisual Studio 2022の目玉だった? 正確な記憶が残ってませんが、ここの所も別にサボってた訳じゃなくひたすらコード書いてたのでこちらにはあまり書き込む余裕が無かったんです。でも、登場当初よりも更に磨きかけて助けてくれる様になってきた気がします。

その昔はキーボードマクロなんかで少しでも楽して大量のコードの記述してたんですが、ストラクチャーやクラスのメンバーなんかのあまり覚えてない部分でも候補だしてくれるので、そこから選択すれば可能なのは本当に助かってますが、Copilotなんかのサポートも入れ込んだものになってきたのか入力が格段に効率アップしてます。

PythonのTensorFlowで訓練したモデルのC#での利用って事で進めてますが、また無駄な時間の浪費になるのも覚悟で...いや、結局外部プロセスでの実装を選択したんですが、この際なので...まあ、そもそも順位予測には走破タイムの予測を入れてます。テスト的に行った訓練にはモデルビルダーの学習モデルが吐き出した走破タイム予測を利用してますが、どうせやるなら、その走破タイムの予測もTensorFlowにした方が筋が通るかなって事でね。まずは新馬戦学習用CSV出力のMシリーズでの書き直し。AutoMLにしてもモデルビルダーにしても、走破タイムの予測は個々の馬で予測させて来ましたが、どうなるかは未知ですが、レース毎に出走馬全てを一括で走破タイムの予測を行う事がTensorFlowでは可能なので試してみようと必死にコーディング中。出来ればある程度の形にGW中に仕上げられれば、最悪微調整なんかはその後でもと思って進めてます。

まあ、ズッコケたら日の目を見ずにお蔵入りですけどね😓

2025/04/26

C#でTensorFlowのモデル利用

モデル訓練も2つ程終わらせてるので実際に利用可能か試し始めました。簡単に利用するにはML.NETでロードして利用がと思い調べて試してます。

  • Microsoft.ML
  • Microsoft.ML.TensorFlow
  • SciSharp.TensorFlow.Redist

これらがまず必要なのはわかりインストール。

  1. using Microsoft.ML;
  2. using Microsoft.ML.Data;
  3.  
  4. namespace TFCheck;
  5.  
  6. class Program
  7. {
  8. static void Main(string[] args)
  9. {
  10. var mlContext = new MLContext();
  11. // Load the model
  12. var modelPath = @"TFMJuniFullCK";
  13. var tensorFlowModel = mlContext.Model.LoadTensorFlowModel(modelPath);
  14. // 入力と出力のスキーマを確認
  15. var schema = tensorFlowModel.GetInputSchema();
  16. Console.WriteLine("Input Schema:");
  17. foreach (var column in schema)
  18. {
  19. Console.WriteLine($"Name: {column.Name}, Type: {column.Type}");
  20. }
  21. }
  22. }

こんな単純なのが最初動かない。少し調べると何のことはないです。この所では珍しくない事でx86がサポートされてない。自力でx86用にビルドすれば可能のようですがそこまでするのは面倒が多過ぎる。が、ちょっと悩むなぁ。苦労してビルドしてうまく行くならアプリにも組み込めます。逆にx64で行くならまた外部プロセスにする事になる。

2025/04/24

TensorFlowモデル訓練で痛恨のミス

モデル訓練が順調に走ってる事は事前に色々Copilotにも相談しながら進めてたので問題無かったんですが、コード自体は更に続いて予測、結果表示、保存と進んでいくんですが、訓練までしかテストしないまま訓練スタートさせて、今回はなんと5.5日の予定だったのが、まあそれよりちょっと早く(?)昨夜終わったんです。が!その後の予測でエラー!となり、保存まで行かなかったのでここまでの苦労は全て無駄にorz いや、全くの無駄かといえば、ここまでやるとかなり訓練されるのは分かったし、ここまでやってもEarlyStoppingにならないのでもっと長くやれば更にって事なのは分かりました。

現在保存まで行ける筈の修正込みでEpochs=50で訓練中。ああ、訓練済みのモデルロードして更に訓練も出来る筈なのでその辺りも試そうとは思います。

しかし、今回の訓練でのPC連続稼働で電気代はザックリな計算で2,700円を無駄にした。750Wの電源つけてるPCだからって本当に750W使ってるかは別として24時間で540円程度。別に訓練とかしてなくても週末なんかだと朝起きて寝るまで18時間程度PCは動かしてるので、それだけで400円程電気代掛かってると再認識すると...いや、でもPCは必要だから😓

2025/04/18

iOS 18.4.1

以前ここにApple Intelligenceの事を昨年暮れに書いてますが、実はその後に何度となく言語設定変更してImage Playgroundで遊んでたんですが、確かハングする感じがあり、まっ、対処方法はアンインストールして入れなおせば直るかなぁって単純に考えてアンインストールしました。で、App Storeで検索すれば出てきて出来る筈が出てくるのは似たアプリばかりで本物が出てこない。

まあ、ちょっとインチキではないが、本来まだ日本語では利用出来ないものを利用してたのでiOS 18.4で日本語対応して直るだろう思ってたんですが...App Storeで見つけられない。確かにSiriなんかは画面の周りが光る新しいものに変わってるのに。で、AppleのFAQなんかも見たり、CopilotやSiriに質問ぶつけたりしたけど解決出来ないのでAppleのサポートに直接問い合わせしました。しかし、サポートでもなぜApp Storeで検索出来ないか原因が分からずでした。そのうちに修正されると思いますって言われてました。

で、数日前にiOS 18.4.1がリリースれたのでアップデート。特に何が修正されたとか確認はしてませんでしたが、ダメ元でApp Storeで検索すると出てくれました😍

TensorFlowのモデルの訓練

先日書いたPythonでTensorFlow使ってモデルの訓練したってやつは、まあ、さらだでもやった順位予測の一番シンプルなファクター(特徴量)数の31個だったので、まあ、Epochsを50程度で本当にさらっと学習させられるものでした。

でまあ、TensorFlowの基本的な流れは出来たのでCSVデータもRaceJuniFullCKと同等なものを出力させてファクター数も230個と格段に増やしました。

  1. # 入力データ(特徴量)
  2. X = data[[
  3. "JouCD", "KaisaiTuki", "KaisaiKai", "KaisaiNichi",
  4. "TrackCD", "Course", "Kyori", "Tousu", "Tenko", "Baba",
  5. "KyosouShubetu", "KyosouJouken", "JuuryoShubetu", "StandardDeviation",
  6. "Uma1Barei", "Uma1Sex", "Uma1Blinkers", "Uma1Kinryo",
  7. "Uma1Kyakusitu1", "Uma1Kyakusitu2", "Uma1Kyakusitu3", "Uma1Kyakusitu4",
  8. "Uma1Kishu", "Uma1Chokyosi", "Uma1Souha", "Uma1DeviationValues",
  9. "Uma2Barei", "Uma2Sex", "Uma2Blinkers", "Uma2Kinryo",
  10. "Uma2Kyakusitu1", "Uma2Kyakusitu2", "Uma2Kyakusitu3", "Uma2Kyakusitu4",
  11. "Uma2Kishu", "Uma2Chokyosi", "Uma2Souha", "Uma2DeviationValues",
  12. "Uma3Barei", "Uma3Sex", "Uma3Blinkers", "Uma3Kinryo",
  13. "Uma3Kyakusitu1", "Uma3Kyakusitu2", "Uma3Kyakusitu3", "Uma3Kyakusitu4",
  14. "Uma3Kishu", "Uma3Chokyosi", "Uma3Souha", "Uma3DeviationValues",
  15. "Uma4Barei", "Uma4Sex", "Uma4Blinkers", "Uma4Kinryo",
  16. "Uma4Kyakusitu1", "Uma4Kyakusitu2", "Uma4Kyakusitu3", "Uma4Kyakusitu4",
  17. "Uma4Kishu", "Uma4Chokyosi", "Uma4Souha", "Uma4DeviationValues",
  18. "Uma5Barei", "Uma5Sex", "Uma5Blinkers", "Uma5Kinryo",
  19. "Uma5Kyakusitu1", "Uma5Kyakusitu2", "Uma5Kyakusitu3", "Uma5Kyakusitu4",
  20. "Uma5Kishu", "Uma5Chokyosi", "Uma5Souha", "Uma5DeviationValues",
  21. "Uma6Barei", "Uma6Sex", "Uma6Blinkers", "Uma6Kinryo",
  22. "Uma6Kyakusitu1", "Uma6Kyakusitu2", "Uma6Kyakusitu3", "Uma6Kyakusitu4",
  23. "Uma6Kishu", "Uma6Chokyosi", "Uma6Souha", "Uma6DeviationValues",
  24. "Uma7Barei", "Uma7Sex", "Uma7Blinkers", "Uma7Kinryo",
  25. "Uma7Kyakusitu1", "Uma7Kyakusitu2", "Uma7Kyakusitu3", "Uma7Kyakusitu4",
  26. "Uma7Kishu", "Uma7Chokyosi", "Uma7Souha", "Uma7DeviationValues",
  27. "Uma8Barei", "Uma8Sex", "Uma8Blinkers", "Uma8Kinryo",
  28. "Uma8Kyakusitu1", "Uma8Kyakusitu2", "Uma8Kyakusitu3", "Uma8Kyakusitu4",
  29. "Uma8Kishu", "Uma8Chokyosi", "Uma8Souha", "Uma8DeviationValues",
  30. "Uma9Barei", "Uma9Sex", "Uma9Blinkers", "Uma9Kinryo",
  31. "Uma9Kyakusitu1", "Uma9Kyakusitu2", "Uma9Kyakusitu3", "Uma9Kyakusitu4",
  32. "Uma9Kishu", "Uma9Chokyosi", "Uma9Souha", "Uma9DeviationValues",
  33. "Uma10Barei", "Uma10Sex", "Uma10Blinkers", "Uma10Kinryo",
  34. "Uma10Kyakusitu1", "Uma10Kyakusitu2", "Uma10Kyakusitu3", "Uma10Kyakusitu4",
  35. "Uma10Kishu", "Uma10Chokyosi", "Uma10Souha", "Uma10DeviationValues",
  36. "Uma11Barei", "Uma11Sex", "Uma11Blinkers", "Uma11Kinryo",
  37. "Uma11Kyakusitu1", "Uma11Kyakusitu2", "Uma11Kyakusitu3", "Uma11Kyakusitu4",
  38. "Uma11Kishu", "Uma11Chokyosi", "Uma11Souha", "Uma11DeviationValues",
  39. "Uma12Barei", "Uma12Sex", "Uma12Blinkers", "Uma12Kinryo",
  40. "Uma12Kyakusitu1", "Uma12Kyakusitu2", "Uma12Kyakusitu3", "Uma12Kyakusitu4",
  41. "Uma12Kishu", "Uma12Chokyosi", "Uma12Souha", "Uma12DeviationValues",
  42. "Uma13Barei", "Uma13Sex", "Uma13Blinkers", "Uma13Kinryo",
  43. "Uma13Kyakusitu1", "Uma13Kyakusitu2", "Uma13Kyakusitu3", "Uma13Kyakusitu4",
  44. "Uma13Kishu", "Uma13Chokyosi", "Uma13Souha", "Uma13DeviationValues",
  45. "Uma14Barei", "Uma14Sex", "Uma14Blinkers", "Uma14Kinryo",
  46. "Uma14Kyakusitu1", "Uma14Kyakusitu2", "Uma14Kyakusitu3", "Uma14Kyakusitu4",
  47. "Uma14Kishu", "Uma14Chokyosi", "Uma14Souha", "Uma14DeviationValues",
  48. "Uma15Barei", "Uma15Sex", "Uma15Blinkers", "Uma15Kinryo",
  49. "Uma15Kyakusitu1", "Uma15Kyakusitu2", "Uma15Kyakusitu3", "Uma15Kyakusitu4",
  50. "Uma15Kishu", "Uma15Chokyosi", "Uma15Souha", "Uma15DeviationValues",
  51. "Uma16Barei", "Uma16Sex", "Uma16Blinkers", "Uma16Kinryo",
  52. "Uma16Kyakusitu1", "Uma16Kyakusitu2", "Uma16Kyakusitu3", "Uma16Kyakusitu4",
  53. "Uma16Kishu", "Uma16Chokyosi", "Uma16Souha", "Uma16DeviationValues",
  54. "Uma17Barei", "Uma17Sex", "Uma17Blinkers", "Uma17Kinryo",
  55. "Uma17Kyakusitu1", "Uma17Kyakusitu2", "Uma17Kyakusitu3", "Uma17Kyakusitu4",
  56. "Uma17Kishu", "Uma17Chokyosi", "Uma17Souha", "Uma17DeviationValues",
  57. "Uma18Barei", "Uma18Sex", "Uma18Blinkers", "Uma18Kinryo",
  58. "Uma18Kyakusitu1", "Uma18Kyakusitu2", "Uma18Kyakusitu3", "Uma18Kyakusitu4",
  59. "Uma18Kishu", "Uma18Chokyosi", "Uma18Souha", "Uma18DeviationValues"
  60. ]]

出力データは以前のものと同じです。で、今回は当たり前ですが本格的に取り組みました。Copilotとまあ平日で夜勤なのでちょっと眠い感じではありますが、可能な限り作業を続け3日目となる昨日出勤2時間前程度にどうにか訓練してくれる所までこぎつけました。

  1. # コースは小数点第1位までの実数ですが、整数に変換する必要があります。
  2. X["Course"] = (X["Course"] * 10).astype(int) # コースデータを10倍して整数化

このコース区分はAutoMLやLightGBM用のCSVデータでもそうだったんですがコース区分を数値にしてて、"A"~"E"だけど、中には"A1"とかもあるって事で"A"は1.0、"A1"は1.1的にしてました。ML.NET系は基本実数なので特に問題なく使えてましたが、TensorFlowでファクター(特徴量)をカテゴリ変数とする場合にはint64である必要があるのでこんな感じでデータを前処理加工。

  1. # レースのカテゴリ変数
  2. X_train_inputs = [
  3. X_train["JouCD"], X_train["KaisaiTuki"], X_train["TrackCD"], X_train["Course"], X_train["Tenko"], X_train["Baba"],
  4. X_train["KyosouShubetu"], X_train["KyosouJouken"], X_train["JuuryoShubetu"]
  5. ]
  6. # レースの数値データを追加
  7. X_train_inputs.extend([
  8. X_train["KaisaiKai"], X_train["KaisaiNichi"], X_train["Kyori"], X_train["Tousu"], X_train["StandardDeviation"]
  9. ])

こんな感じで指定しました。馬毎のファクターも同様にカテゴリ変数と数値データを指定。

  1. # ウマごとのカテゴリ変数を追加
  2. for i in range(18):
  3. X_train_inputs.extend([
  4. X_train[f"Uma{i+1}Sex"], X_train[f"Uma{i+1}Blinkers"], X_train[f"Uma{i+1}Kishu"], X_train[f"Uma{i+1}Chokyosi"]
  5. ])
  6.  
  7. # ウマごとの数値データを追加
  8. X_train_inputs.extend([
  9. X_train[f"Uma{i+1}{feature}"]
  10. for i in range(18)
  11. for feature in ["Barei", "Kinryo", "Kyakusitu1", "Kyakusitu2", "Kyakusitu3", "Kyakusitu4", "Souha", "DeviationValues"]
  12. ])

で、TensorFlowではお決まりの層を定義していく為に

  1. # レースのカテゴリ変数を定義
  2. input_joucd = Input(shape=(1,), name="JouCD") # 場コード
  3. embedding_joucd = Embedding(input_dim=11, output_dim=4)(input_joucd) # 場コードの埋め込み
  4. flatten_joucd = Flatten()(embedding_joucd)
  5. input_kaisaituki = Input(shape=(1,), name="KaisaiTuki") # 開催月
  6. embedding_kaisaituki = Embedding(input_dim=13, output_dim=4)(input_kaisaituki) # 開催月の埋め込み
  7. flatten_kaisaituki = Flatten()(embedding_kaisaituki)
  8. input_trackcd = Input(shape=(1,), name="TrackCD") # トラックコード
  9. embedding_trackcd = Embedding(input_dim=60, output_dim=4)(input_trackcd) # トラックコードの埋め込み
  10. flatten_trackcd = Flatten()(embedding_trackcd)
  11. input_course = Input(shape=(1,), name="Course") # コース
  12. embedding_course = Embedding(input_dim=100, output_dim=4)(input_course) # コースの埋め込み
  13. flatten_course = Flatten()(embedding_course)
  14. input_tenko = Input(shape=(1,), name="Tenko") # 天候
  15. embedding_tenko = Embedding(input_dim=7, output_dim=2)(input_tenko) # 天候の埋め込み
  16. flatten_tenko = Flatten()(embedding_tenko)
  17. input_baba = Input(shape=(1,), name="Baba") # 馬場状態
  18. embedding_baba = Embedding(input_dim=5, output_dim=2)(input_baba) # 馬場状態の埋め込み
  19. flatten_baba = Flatten()(embedding_baba)
  20. input_kyosoushubetu = Input(shape=(1,), name="KyosouShubetu") # 競走種別
  21. embedding_kyosoushubetu = Embedding(input_dim=25, output_dim=2)(input_kyosoushubetu) # 競走種別の埋め込み
  22. flatten_kyosoushubetu = Flatten()(embedding_kyosoushubetu)
  23. input_kyosoujouken = Input(shape=(1,), name="KyosouJouken") # 競走条件
  24. embedding_kyosoujouken = Embedding(input_dim=1000, output_dim=8)(input_kyosoujouken) # 競走条件の埋め込み
  25. flatten_kyosoujouken = Flatten()(embedding_kyosoujouken)
  26. input_juuryoushubetu = Input(shape=(1,), name="JuuryoShubetu") # 斤量種別
  27. embedding_juuryoushubetu = Embedding(input_dim=5, output_dim=2)(input_juuryoushubetu) # 斤量種別の埋め込み
  28. flatten_juuryoushubetu = Flatten()(embedding_juuryoushubetu)
  29.  
  30. # レースの数値変数を定義
  31. input_kaisai_kai = Input(shape=(1,), name="KaisaiKai") # 開催回
  32. input_kaisai_nichi = Input(shape=(1,), name="KaisaiNichi") # 開催日
  33. input_kyori = Input(shape=(1,), name="Kyori") # 距離
  34. input_tousu = Input(shape=(1,), name="Tousu") # 頭数
  35. input_standard_deviation = Input(shape=(1,), name="StandardDeviation") # 標準偏差

てな感じでして

  1. # レースの特徴量を結合
  2. race_features = Concatenate()([
  3. flatten_joucd, flatten_kaisaituki, flatten_trackcd, flatten_course, flatten_tenko, flatten_baba,
  4. flatten_kyosoushubetu, flatten_kyosoujouken, flatten_juuryoushubetu,
  5. input_kaisai_kai, input_kaisai_nichi, input_kyori, input_tousu, input_standard_deviation
  6. ])
  7. race_dense = Dense(64, activation='relu')(race_features) # 隠れ層の学習
  8. race_dense = Dense(32, activation='relu')(race_dense) # 更に学習層を追加

この後、当然馬毎の入力層も定義し

  1. # 馬ごとのネットワーク
  2. merged_horses = Concatenate()(uma_networks)
  3.  
  4. # レース特徴量と馬特徴量を結合
  5. final_features = Concatenate()([race_dense, merged_horses])
  6.  
  7. # 結合後のネットワーク全体
  8. x = Dense(128, activation='relu')(final_features) # 隠れ層
  9. output = Dense(18, activation='linear', name="Output")(x) # 出力層

これで、層は出来たので

  1. # モデルを構築
  2. model_inputs = [input_joucd, input_kaisaituki, input_trackcd, input_course, input_tenko, input_baba,
  3. input_kyosoushubetu, input_kyosoujouken, input_juuryoushubetu,
  4. input_kaisai_kai, input_kaisai_nichi, input_kyori, input_tousu, input_standard_deviation] + uma_inputs
  5. model = Model(inputs=model_inputs, outputs=output)

後は入力データを↑の様に整えるのに

  1. X_train_inputs = [
  2. X_train["JouCD"], # JouCD
  3. X_train["KaisaiTuki"], # KaisaiTuki
  4. X_train["TrackCD"], # TrackCD
  5. X_train["Course"], # Course
  6. X_train["Tenko"], # Tenko
  7. X_train["Baba"], # Baba
  8. X_train["KyosouShubetu"], # KyosouShubetu
  9. X_train["KyosouJouken"], # KyosouJouken
  10. X_train["JuuryoShubetu"], # JuuryoShubetu
  11. X_train["KaisaiKai"], # KaisaiKai
  12. X_train["KaisaiNichi"], # KaisaiNichi
  13. X_train["Kyori"], # Kyori
  14. X_train["Tousu"], # Tousu
  15. X_train["StandardDeviation"], # StandardDeviation
  16. ]
  17. for i in range(18):
  18. X_train_inputs.extend([
  19. X_train[f"Uma{i+1}Sex"], # Uma{i+1}Sex
  20. X_train[f"Uma{i+1}Blinkers"], # Uma{i+1}Blinkers
  21. X_train[f"Uma{i+1}Kishu"], # Uma{i+1}Kishu
  22. X_train[f"Uma{i+1}Chokyosi"], # Uma{i+1}Chokyosi
  23. X_train[f"Uma{i+1}Barei"], # Uma{i+1}Barei
  24. X_train[f"Uma{i+1}Kinryo"], # Uma{i+1}Kinryo
  25. X_train[f"Uma{i+1}Kyakusitu1"], # Uma{i+1}Kyakusitu1
  26. X_train[f"Uma{i+1}Kyakusitu2"], # Uma{i+1}Kyakusitu2
  27. X_train[f"Uma{i+1}Kyakusitu3"], # Uma{i+1}Kyakusitu3
  28. X_train[f"Uma{i+1}Kyakusitu4"], # Uma{i+1}Kyakusitu4
  29. X_train[f"Uma{i+1}Souha"], # Uma{i+1}Souha
  30. X_train[f"Uma{i+1}DeviationValues"], # Uma{i+1}DeviationValues
  31. ])

として、モデルの訓練は以前のものほぼ変わらずですが、

  1. # モデルの訓練
  2. from tensorflow.keras.callbacks import EarlyStopping
  3. early_stopping = EarlyStopping(monitor='val_rmse', patience=5, mode='min')
  4. history = model.fit(
  5. X_train_inputs, # 入力データをリスト形式で渡す
  6. Y_train, # 出力データ(ターゲット)
  7. epochs=2000,
  8. batch_size=32,
  9. validation_split=0.2,
  10. callbacks=[early_stopping]
  11. )

流石に複雑なのでってのと、何度もやるのは辛いと想像して最初からepochsを2,000にしてます。ただ、これ、ちょっとザックリと指定してしまいましたが、昨日スタートすると明らかに各epochがこれまでと違い時間が掛かります。特にプログラム的に時間表示させたりしてないので目測的に測ると4分とかです。たった今205回目が終わってました。4×205=820÷60=13.6時間です。もし、過学習でEarlyStoppingにならないと4×2,000=8,000÷60=133.3÷24=5.5日です😰

今晩も夜勤で出勤しますが、訓練が終わらない事には予測させるコーディングも進められないので今週末には間に合わない。まっ、GW中には形に出来れば...

追記 2025.4.19 18:30
少し前に675個目のepochが終わりました。TensorFlowってテキストベースでログが出て各epochの終わりに

って感じで出るんですが、地味に進んでるのでEarlyStoppingにはならないのかな? 勝手にそろそろ終わるんじゃね?っと思ったんですが地味に続くのが良いのか悪いのか😓 MicrosoftをGoogleが超えるのをマジ期待してたりもします😉
いや、AutoMLやML.NET、LightGBMはMicrosoftで、TensorFlowはGoogleって話なら...

いやね、そろそろ、いつEarlyStoppingになってもって思ってますが地味に進んでるのがepochs=2000って指定が良かったのかが...ここまで36時間以上なのでやり直しは簡単ではないので期待してる😉

追記 2025.4.19
↑の追記は間違いが多いかな。多分675/2000って出てるEpochですが、これ次に始まった奴だったと思うので、厳密には674個目の終わりだった。更にそろそろ36時間以上ではなく48時間以上だな。いや、一昨日の出勤2時間前にコーディング終えてスタートしたんでね😉 先程750個目がスタートした。

追記 2025.4.20
何が失敗っていきなり2,000epochsで行った事ですね😭 いや、実際問題としてはその位必要な感じで進んではいます。だからこそ中断という選択は無いんです。ただ、今回ってbatch_size=32で行ったんですが、こちらのPCには64GB積んでるんでbatch_size=64でも行けたかも? これ指定してれば半分で済んだかも? その辺りも後から分かったけど今更中断出来ないのが辛いです。開始してからこれに要する時間が5.5日程度と分かった時点で一旦止める判断しなかったのが悔やまれますが、これも自分の知識不足が原因として。先程929回目がスタートしました。まだ半分に届いてない。でもloss: 6.1598と確実に進んでるのは分かります。進まなければEarlyStoppingが効くはずなのでね。まいったなぁ、終わるのはこのまま行くと3.4日後って木曜日になるのかなぁorz

2025/04/15

PythonのTensorFlow

確かにこれまでの苦労がうその様に楽に動きます。C#に固執しなければ良さげですが、そうもいかないのはこれまでの蓄積したアプリの形。ここにどうにかTensorFlowのモデルを読み込んで利用出来るまでもって行きたい。

主に順位予測に対してなんですが、ここまでModel BuilderでRMSE 3.0880とか、LightGBMではRMSE 3.6735程度。これがまあ検証は出来ていませんが、RMSE 2.77とか2.78辺りが出てます。Epochsがやり始めは50だったけど、Copilotに相談しながらLightGBMでも採用している過学習させない工夫入れたり、特徴量のグループ化等取り入れて何度か500まで試してるんですが、それでもEarly Stoppingされないって事は回数足りてないので明日もう少し増やしてどこまでになるか確認します。

しかし、ここまで苦労しててもC#でモデル読み込んで予測可能にならなかったら...

2025/04/13

ディープラーニングを諦めた訳ではない

ここにも何度となく色々な事にチャレンジしている事は書いてます。まあ、その主軸はディープラーニングであるTensorFlowなんですが、これ自体は本来ってかPythonで使うものなので自分自身がPythonをあまり好きになれず、ってかねぇ、60歳過ぎて手を出した訳だし自分の脳が馴染めないだけなんだけど...いや、そもそもテキストベースなのがねぇって言い訳してた。

先日何だったかやってた時にOSが開発者モード(?)じゃないとか言われて

設定にあるこれをオンにしたんですが、以前Visual StudioでPython環境整備している時にシェルスクリプトだったか許可されないからって感じで使えなかった理由がこれなんじゃと思い確認してみるとVisual Studioで無事(実際には無事にとは行かないが、毎回指定すれば)にAnacondaの仮想Python環境で行ける様になり単純なTensorFlowでの多変量多出力回帰をしてみた。CopilotとGeminiに相談しながらなんとか行けました。

CSVファイルはpandas使って

  1. import pandas as pd
  2.  
  3. # CSVファイルの読み込み
  4. data = pd.read_csv("MRaceJuni.csv") # ファイル名を適宜変更

入出力の指定して

  1. # 入力データ(特徴量)
  2. X = data[[
  3. "JouCD", "KaisaiTuki", "KaisaiKai", "KaisaiNichi",
  4. "TrackCD", "Course", "Kyori", "Tousu", "Tenko", "Baba",
  5. "KyosouShubetu", "KyosouJouken", "JuuryoShubetu",
  6. "Uma1Souha", "Uma2Souha", "Uma3Souha", "Uma4Souha",
  7. "Uma5Souha", "Uma6Souha", "Uma7Souha", "Uma8Souha",
  8. "Uma9Souha", "Uma10Souha", "Uma11Souha", "Uma12Souha",
  9. "Uma13Souha", "Uma14Souha", "Uma15Souha", "Uma16Souha",
  10. "Uma17Souha", "Uma18Souha"
  11. ]]
  12.  
  13. # 出力データ(ターゲット)
  14. Y = data[[
  15. "Umaban1", "Umaban2", "Umaban3", "Umaban4", "Umaban5",
  16. "Umaban6", "Umaban7", "Umaban8", "Umaban9", "Umaban10",
  17. "Umaban11", "Umaban12", "Umaban13", "Umaban14", "Umaban15",
  18. "Umaban16", "Umaban17", "Umaban18"
  19. ]]

後は今までと同じ感じでデータ準備とTensorFlow特有の層を指定して学習が

  1. from sklearn.model_selection import train_test_split
  2. from sklearn.preprocessing import StandardScaler
  3.  
  4. # データ分割
  5. X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=42)
  6.  
  7. # 標準化
  8. scaler = StandardScaler()
  9. X_train = scaler.fit_transform(X_train)
  10. X_test = scaler.transform(X_test)
  11.  
  12. import tensorflow as tf
  13. from tensorflow.keras import Model, Input
  14. from tensorflow.keras.layers import Dense
  15.  
  16. # 入力層を定義
  17. input_layer = Input(shape=(X_train.shape[1],))
  18.  
  19. # 隠れ層と出力層
  20. x = Dense(64, activation='relu')(input_layer)
  21. x = Dense(32, activation='relu')(x)
  22. output_layer = Dense(Y_train.shape[1])(x)
  23.  
  24. # モデルを構築
  25. model = Model(inputs=input_layer, outputs=output_layer)
  26.  
  27. # モデルのコンパイル
  28. model.compile(optimizer='adam', loss='mse')
  29.  
  30. # モデルの訓練
  31. history = model.fit(X_train, Y_train, epochs=50, batch_size=32, validation_split=0.2)

出来たモデルの結果を

  1. # 予測
  2. predictions = model.predict(X_test)
  3.  
  4. # 結果表示
  5. print(predictions)

まあ、これまでのRMSEに馴染みがあるので

  1. from sklearn.metrics import mean_squared_error
  2. import numpy as np
  3.  
  4. # 平均二乗誤差(MSE)を計算
  5. mse = mean_squared_error(Y_test, predictions)
  6.  
  7. # 平方根を取ってRMSEを計算
  8. rmse = np.sqrt(mse)
  9. print(f"Root Mean Squared Error: {rmse}")

って感じにすれば感覚つかみ易いですね。で、出来上がったモデルをどうやって利用するかが問題なんです。H5とかで保存やonnxもあり、まあ、この辺りも以前から苦労してた記憶がありますが

  1. # SavedModel形式で保存
  2. model.export('my_saved_model')

としてTensorFlowのSavedModel形式で保存してTensorFlow.NETでVisual Studioのc#で利用しようかと思ってますが、また躓くかもです😓

第85回桜花賞

馬券は相変わらずパッとしないですね。まあ、そろそろって期待しながら今回は独自に予想してみました。

無傷な2頭とか気になりましたが、最内から俊君が逃げるのがちょっと怖い気もするけど阪神なら消えてくれると信じてノーマーク。
頭絞り切れなくて2点で行ってみました。

2025/04/07

新たな焼酎探し

楽天の買い回りで8本試してみた。

全て初トライと思ったら1本だけ既に1度飲んでた😓 まっ、それだけ影が薄かった奴なのかと思う。取敢えずこの並びは無視でなんとなく鬼嫁から行ってみてます。これ、特に普通に普通。悪くないけど態々リピするってのは微妙。1,580円ってのがまあまあな感じ。でも、今回の8本では4本が1,580円なんです。真ん中あたりの伝説ってのが唯一麦です。でも濱田酒造なのでちょっと期待。

2025/04/06

第69回大阪杯

昨日は2つ程当てましたが微負け。本日はここまで酷い結果で唯一複勝1.8倍とか拾った程度で惨敗中。

ちょっと素直に順位予測に乗ってみました。でも、現時点ってか、乗った時点は朝9時ちょっと過ぎなんですが、そこから何が影響したのか不明ですが、予測が変わってますね😓 まあ、既に投票済なので今更ですけど。
だったんですが、気が付いてしまったので
3点追加投票しておきました。




2025/04/05

ナビダイアル使う企業

以前から非常に不快に思うのは、企業の窓口としてナビダイアルを表示する会社。これ、単に客に電話代払わせて余分な通話を減らす目的としか思えません。昨今通話を無料にするプランを利用する方が多いかと思います。自分はそうではないけど、通話無料になるアプリを利用してます。固定電話は解約済み。通信費削減は当然なんですが、そこに確実に通話料が発生するナビダイアルを自社の窓口として設定する企業は最悪のイメージしかわきません。

って事で、今後通販で日本郵政使うショップは排除していきます。なぜ?ヤマトや佐川と違い、日本郵政のシステムが酷いのにその窓口がナビダイアルなんで、そこを使うショップも問答無用で使いたくない。当たり前に当たり障りのない回答したつもりだとは思うけど、誰もそんな回答求めてメールしてない事に気が付かない担当者は不快。

更にこれ伝えたショップも特に問題ないって対応で不快。まあね、別にひとりが何言った所で変わるものではないのは分かるので、だからってこちらも泣き寝入りはしません。それに対して不快な気分にされない方法は避けるしかないのでね。

いや、実際、日本郵政がとか日本郵便がとか以前に他にも沢山の企業が当たり前にナビダイアルを表示してるんだけど、今のご時世にあうものと思って使っているのか、単に有料に強制的にする事で、それを嫌う客を遠ざける為の施策なんだろうかと思ってしまう。

固定電話を持たない家庭が増える中、固定電話はフリーダイヤルで携帯電話はナビダイアルにする意図を、その案内している場所で明確に表示して欲しいですよね。

こんなのに運(?)を使うから?

昨日郵送されてきたんですが

これ、頂きました。昨年はJRAから沢山のQuoカード頂いてますが、馬券成績は良くないのでこんなのに運を使わずにリアル馬券で大きいのが欲しいですね😉

VisualなコーディングからWinUI 3への垣根

そもそも、Windowsアプリの開発は面倒なものだったのをVisual Basicの登場で多分大きな転換だったと思ってます。画面設計もビジュアル的に、その処理もそのビジュアルに対応して記述するって手法は本当に楽させて頂いたとつくづく思います。

そこにWinUI 3への対応となると、逆行してるとしか思えない以上の面倒です😫 こんな苦労して出来上がってみたら...え?ってなるのは現時点では想定出来ていませんが、単純に工数的には相当なものですねぇ。自分の現状のアプリにはフォームは30を超えてます。これ、全て書き換える事を想定すると...もし、これが業務的にだと2人月以上だとは思います。いや、自分は一応2人月程度を1カ月でこなす程度はしてたので短縮してトライしますが...出来上がりが全くイメージ出来ない状態で突き進む冒険。

ここ二日程度色々とやった結果ってか、調べた結果なんですが、確かに今風のWindows11的なアプリ(見た目はね)を作るには良いのかもなんですが、そもそものベースとしてダメダメってか、どうりでWindowsフォームアプリからWinUI 3へのコンバーターとかが無いのは理解しました。同じ様な考えでデザインは出来ないだけでなく、その為のコードや諸々が全く整ってない所で手を出すべきではないと判断して止めます。

Microsoft Rewards 19回目

前回が2025.2.15だったので51日目です。前回52日でしたのでちょっとだけ早い。でも、スマホ側でポカしてました😞 ちょっとここのログ確認したら、2022年7月からこれを使ってるんです。もう少しでまる3年。色々と変わったりしてますが、今回は何故かAmazonギフトが5,400とかだった筈が5,040で600円になり、楽天ポイントよりお得な感じがしたのでAmazonギフトにしてみました。

トランプ君がやらかしてくれてますので今後の経済がどうなるか分かりませんが、ポイ活で貯めこんだ楽天証券の資産が1日で7%も減りました😡

2025/04/02

いよいよ解決?

ML.NETの方にはなぜ古いバージョンのLightGBMを使い続けるのかってのを上げてたんですが、この度解決して頂けたようです。ようですってのは、現時点ではまだ何も変わってないのですが、自分が上げた問題点のスレッドが解決済みとなったので、対処して頂けたんだと信じたいです。

ただ、問題は現行5.0.0のpreviewなんですが、これが次のpreviewには反映されるのか、もしくは正規版にはって事なのかは不明。ML.NETが正規にリリースされるタイミングは.NETがバージョンアップする時って事の様なので、前回は昨年秋の10月だったか11月だったかなんです。もし、それまで待たないとだとまだまだ遠い話に...近日previewにでも反映されれば即試して反映したいとは思ってます。

2025/03/30

第55回高松宮記念

馬券の調子が悪いのは相変わらずですが、またまた自己予想してみました。

13番のエイシンフェンサーは悩んだんですが、今回は評価下げてみました。
ちょっとモデルの学習は一休みしてます。今苦労しているのはWinUI 3を試そうかと色々調べたりしてます。これ出来るとダークモード対応なんかもですが、この所のWindowsアプリ風に出来て見栄えが良くなる事と解像度違いで少しでも同じ見栄えに出来ればと期待してます。

2025/03/19

気合い入れてLightGBM

確かスタートしたのは日曜日だったかと、今回の設定では50回指定してたんですが、25回程度で断念しました。ってのもここまでこの25回で3日程度は稼働させてます。72時間だと仮にして72/25だと1回のトライアルが2.88時間で3時間弱なんですが、タフな学習なのは間違いないです。まあ、それでも今回ここまでの最適RMSEとして1.3589でした。

675R 1点 芝(282R) ダート(365R) 障害(28R) 8頭以下(19R) 9~12頭(146R) 13頭以上(510R) 多点
単勝 22.81%
(72.39%)
20.92%
(77.23%)
24.38%
(68.88%)
21.43%
(69.29%)
36.84%
(91.58%)
28.77%
(90.34%)
20.59%
(66.53%)
50.96%
(90.47%)
複勝 51.85%
(83.38%)
48.58%
(80.50%)
53.97%
(85.37%)
57.14%
(86.43%)
57.89%
(73.16%)
60.27%
(84.32%)
49.22%
(83.49%)
86.81%
(87.31%)
枠連 11.85%
(72.24%)
8.24%
(57.73%)
14.01%
(82.21%)
19.05%
(79.05%)
--
(--)
15.07%
(61.85%)
10.39%
(71.96%)
27.65%
(72.11%)
馬連 9.19%
(83.38%)
6.38%
(102.06%)
11.23%
(73.15%)
10.71%
(28.57%)
21.05%
(64.74%)
12.33%
(74.86%)
7.84%
(86.51%)
21.19%
(73.44%)
ワイド 21.19%
(85.48%)
17.73%
(92.70%)
23.56%
(81.78%)
25.00%
(61.07%)
21.05%
(31.58%)
30.82%
(86.78%)
18.43%
(87.12%)
42.37%
(84.15%)
馬単 4.59%
(59.61%)
2.84%
(47.02%)
6.03%
(72.11%)
3.57%
(23.57%)
10.53%
(63.16%)
4.79%
(55.62%)
4.31%
(60.63%)
21.19%
(76.65%)
三連複 5.33%
(69.23%)
3.19%
(34.57%)
7.12%
(99.70%)
3.57%
(21.07%)
5.26%
(37.89%)
11.64%
(71.44%)
3.53%
(69.76%)
13.19%
(76.94%)
三連単 1.19%
(58.76%)
0.71%
(69.29%)
1.64%
(55.12%)
0.00%
(0.00%)
0.00%
(0.00%)
3.42%
(87.47%)
0.59%
(52.73%)
13.19%
(78.60%)
総合 52.44%
(73.06%)
49.29%
(70.29%)
54.52%
(77.28%)
57.14%
(45.07%)
57.89%
(51.73%)
60.96%
(76.58%)
49.80%
(72.34%)
86.96%
(79.16%)

感触的にはやっとなイメージです。欲を言えばキリは無いけど、やっと使えそうなモデルではないかと思います。ただ、今回この学習させてて思ったのは、今の自分のPCの非力さですね。非常に重かった。ブラウザが思う様に反応しないんです。6年前の中級クラスなんでこれは仕方ないですが...

2025/03/11

ちょっとだけ、でも、衝撃的?

ここまでは、新馬戦用のモデルは学習データが24MB程度なので、本来の10分程度からちょっと余裕をもって1時間で行ってきました。今回まあ、一応念のためって事でもないんですが、18,000秒なんで5倍の5時間行った訳ですが、最適RMSE 1.9636で

45R 1点 芝(19R) ダート(26R) 8頭以下(0R) 9~12頭(3R) 13頭以上(42R) 多点
単勝 15.56%
(73.78%)
10.53%
(41.58%)
19.23%
(97.31%)
--
(--)
33.33%
(116.67%)
14.29%
(70.71%)
42.22%
(81.85%)
複勝 35.56%
(62.22%)
21.05%
(32.63%)
46.15%
(83.85%)
--
(--)
33.33%
(46.67%)
35.71%
(63.33%)
71.11%
(78.07%)
枠連 11.11%
(150.00%)
10.53%
(125.26%)
11.54%
(168.08%)
--
(--)
33.33%
(113.33%)
9.52%
(152.62%)
22.22%
(87.75%)
馬連 6.67%
(392.00%)
5.26%
(44.74%)
7.69%
(645.77%)
--
(--)
0.00%
(0.00%)
7.14%
(420.00%)
15.56%
(256.30%)
ワイド 11.11%
(190.44%)
5.26%
(21.05%)
15.38%
(314.23%)
--
(--)
0.00%
(0.00%)
11.90%
(204.05%)
22.22%
(180.81%)
馬単 4.44%
(467.78%)
5.26%
(106.84%)
3.85%
(731.54%)
--
(--)
0.00%
(0.00%)
4.76%
(501.19%)
15.56%
(202.59%)
三連複 6.67%
(1,054.89%)
0.00%
(0.00%)
11.54%
(1,825.77%)
--
(--)
0.00%
(0.00%)
7.14%
(1,130.24%)
6.67%
(263.72%)
三連単 2.22%
(4,749.56%)
0.00%
(0.00%)
3.85%
(8,220.38%)
--
(--)
0.00%
(0.00%)
2.38%
(5,088.81%)
6.67%
(305.36%)
総合 37.78%
(892.58%)
26.32%
(46.51%)
46.15%
(1,510.87%)
--
(--)
33.33%
(34.58%)
38.10%
(953.87%)
71.11%
(238.24%)

とまあね、偶々ってのもあるかもですがなかなか魅力的なものになったのかも? それでも、たまたま大きいのが拾えたからって感じも否めません。単勝15%、複勝35%は決して良い訳ではないですよね。

ただね、あくまでもしばらくってか後3カ月程度後の7月にならないと今年の新馬戦は行われないので、そこまでにはまだ時間あるのでもう少し学習させてみるかもですが、取敢えず、通常用の良いのが出来て順位予測も学習させたら次のバージョンをリリースしようと思います。

追記 2025.3.12 5:59
先程終わった24時間の通常用は最適RMSE 1.3971で

483R 1点 芝(201R) ダート(261R) 障害(21R) 8頭以下(15R) 9~12頭(102R) 13頭以上(366R) 多点
単勝 19.25%
(70.23%)
11.94%
(59.40%)
24.90%
(80.73%)
19.05%
(43.33%)
33.33%
(132.67%)
22.55%
(93.14%)
17.76%
(61.28%)
48.45%
(77.16%)
複勝 49.90%
(87.12%)
41.29%
(75.62%)
55.17%
(95.67%)
66.67%
(90.95%)
60.00%
(89.33%)
60.78%
(93.92%)
46.45%
(85.14%)
89.23%
(88.16%)
枠連 11.04%
(73.66%)
8.20%
(64.10%)
12.65%
(63.28%)
17.65%
(331.18%)
--
(--)
13.73%
(129.71%)
9.84%
(55.03%)
26.27%
(82.03%)
馬連 5.80%
(42.88%)
2.99%
(30.10%)
7.28%
(37.28%)
14.29%
(234.76%)
0.00%
(0.00%)
8.82%
(96.76%)
5.19%
(29.62%)
18.22%
(72.35%)
ワイド 18.84%
(79.98%)
13.93%
(64.03%)
21.84%
(89.58%)
28.57%
(113.33%)
26.67%
(82.00%)
25.49%
(90.98%)
16.67%
(76.83%)
40.17%
(82.50%)
馬単 3.52%
(41.24%)
1.49%
(31.19%)
4.98%
(48.66%)
4.76%
(45.24%)
0.00%
(0.00%)
4.90%
(73.73%)
3.28%
(33.88%)
18.22%
(68.53%)
三連複 4.55%
(69.59%)
2.49%
(66.42%)
6.13%
(75.36%)
4.76%
(28.10%)
6.67%
(36.00%)
6.86%
(65.59%)
3.83%
(72.08%)
13.25%
(79.86%)
三連単 0.62%
(11.93%)
0.00%
(0.00%)
1.15%
(22.07%)
0.00%
(0.00%)
0.00%
(0.00%)
0.00%
(0.00%)
0.82%
(15.74%)
13.25%
(83.79%)
総合 51.14%
(59.47%)
43.28%
(48.69%)
55.94%
(64.08%)
66.67%
(105.49%)
66.67%
(48.57%)
61.76%
(80.48%)
47.54%
(53.70%)
89.65%
(80.56%)

上見たらきり無いけど、大分良い感じになってきた。欲を言うともうちょっとほんの少しで良いんだけどなぁ😓

2025/03/06

最新のML.NETでも

モデルビルダーで72時間学習させて最適RMSE 1.3887が出て、ウキウキ気分で検証しようとしたら...忘れてました😭 この学習モデル、196MBなんですが、100MB超えるモデルはOut Of Memoryとなる事が多々あるんですが、これもダメでしたorz はい、この3日間は何? でも、どうしようもない、やり場のない...諦めずに24時間学習で再度トライしてます。3日間ではモデルが複雑になり大きくなりやすいのかもという判断から時間短縮してもう一度、いや、もう24時間は何度もしてますけど、それでも期待込めて明日朝の結果待ちです。

ってか、ML.NETは毎度なんで、素のLightGBMに専念するべきかもなんですが、微妙です。今回のモデルビルダーは今回の最終として、この後はLightGBMに専念します。それと、確か今後しばらくは新馬戦は無い感じなので、新馬戦用があまり良いものではないけど、7月までは新馬戦実施されないのなら後回しもありですね。

追記 2025.3.11 0:22
もう寝なきゃな時間なんですが、実は昨日ちょっとML.NETの方で動きがありました。もう随分前にML.NETに最近のLightGBM入れるとエラーで落ちる的な報告はしてあったんですが、やっと反応があり、ML.NET 5.0では対応する方向だとの事。で、現在のML.NET 5.0 previewにLightGBM 4.5.0入れたら相変わらずエラーになる。けど、若干進展はある感じのエラーなのでそれを報告してみました。ML.NET 5.0がpreviewではなく正式版リリースとなる時にLihgtGBM 4.5.0ないし4.6.0に対応してくれると楽しみではあります。が!↑のOut Of Memoryの問題、これも実は報告済みなんですが、こちらもどうにかしてほしい所です。

2025/03/01

新たな焼酎

2月の楽天買い回りで購入してあったんですが、今晩の休出夜勤まで2週続いた夜勤も一旦終わり来週から日勤。まあ、明日日曜の朝帰宅して、翌月曜朝には出勤になるので微妙に短い休日なんですが楽しみにしてた新たな焼酎が飲めそう😄

この中でも一番右のは初の栗焼酎。芋、麦、米とかは飲んでましたが栗は初です。

追記 2025.3.2 6:41
夜勤明け帰宅後に早速頂きました😋

  • 無手無冠 ダバダ火振 栗焼酎 1,800ml 2,480円

これ! 美味いね。味がある。甘い感じかなぁ。芋と似てるとは思うけど、まあ、芋も色々あるし、多分栗も色々なんだとは思うけど...ただね、ちょっと高いので日々の味わいとはいけないですね。

  • 濱田酒造 隠し蔵 樽熟成 麦焼酎 1,800ml 1,980円
  • 長島研醸 さつま島美人 白麹仕込 芋焼酎 1,800ml 1,580円
  • 本坊酒造 あらわざ 桜島 芋焼酎 1,800ml 1,780円

今回ちょっとボケてて8本購入したと思ってたんですが7本でした。

追記 2025.3.6 22:48
さらっとダバダは飲み終えたのでさつま島美人に行ってみました。まあ、同じ蔵の製品ですが、島乙女程ではなかったです^^; 上下関係把握してませんが、島乙女の方が断然美味い! ただ、島乙女は限定なのかな何なのか不明ですが、無いorz

追記 2025.3.8 15:49
あらわざにしてみましたが、これ、好みによるんだと思いますが、ちょっとキリっとした感じので悪くはないのですが、態々次買う理由にはならない感じです。

追記 2025.3.11 19:38
ガンガン飲んでますけど^^; 今回最後の新な焼酎で、まあ、ちょっと最近の動向的に濱田酒造にはおおいに期待してるんですが、いやね、別にこれは新作って事ではなく、単に自分が初めてトライするって事なんですが、麦!でも、これ、美味いよ!これがリーズナブルな価格で手に入るならリピート有ですね。
今回の総評的に言えば、ダバダは栗焼酎としての魅力は感じさせて頂きました。島美人は島乙女には劣りますが...あらわざは悪くはないけど、まあ、リピートの必要性は無いって感じですね。

ここまでの学習結果

限られた時間の中で学習作業は進めてます。

  • ShinbaTimeCK.mlnet RMSE 1.9843
    45R 1点 芝(19R) ダート(26R) 8頭以下(0R) 9~12頭(3R) 13頭以上(42R) 多点
    単勝 15.56%
    (77.33%)
    10.53%
    (45.26%)
    19.23%
    (100.77%)
    --
    (--)
    0.00%
    (0.00%)
    16.67%
    (82.86%)
    35.56%
    (57.70%)
    複勝 33.33%
    (61.11%)
    21.05%
    (34.74%)
    42.31%
    (80.38%)
    --
    (--)
    0.00%
    (0.00%)
    35.71%
    (65.48%)
    68.89%
    (61.41%)
    枠連 6.67%
    (44.00%)
    10.53%
    (72.63%)
    3.85%
    (23.08%)
    --
    (--)
    0.00%
    (0.00%)
    7.14%
    (47.14%)
    20.00%
    (69.62%)
    馬連 4.44%
    (44.89%)
    5.26%
    (44.74%)
    3.85%
    (45.00%)
    --
    (--)
    0.00%
    (0.00%)
    4.76%
    (48.10%)
    8.89%
    (33.26%)
    ワイド 8.89%
    (87.78%)
    5.26%
    (21.05%)
    11.54%
    (136.54%)
    --
    (--)
    0.00%
    (0.00%)
    9.52%
    (94.05%)
    17.78%
    (52.59%)
    馬単 2.22%
    (45.11%)
    5.26%
    (106.84%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    2.38%
    (48.33%)
    8.89%
    (36.63%)
    三連複 2.22%
    (31.11%)
    0.00%
    (0.00%)
    3.85%
    (53.85%)
    --
    (--)
    0.00%
    (0.00%)
    2.38%
    (33.33%)
    2.22%
    (7.78%)
    三連単 0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    2.22%
    (4.23%)
    総合 35.56%
    (48.92%)
    26.32%
    (40.66%)
    42.31%
    (54.95%)
    --
    (--)
    0.00%
    (0.00%)
    38.10%
    (52.41%)
    71.11%
    (23.90%)
  • ShinbaTimeCK.zip RMSE 2.0014
    45R 1点 芝(19R) ダート(26R) 8頭以下(0R) 9~12頭(3R) 13頭以上(42R) 多点
    単勝 15.56%
    (77.33%)
    10.53%
    (45.26%)
    19.23%
    (100.77%)
    --
    (--)
    0.00%
    (0.00%)
    16.67%
    (82.86%)
    35.56%
    (57.70%)
    複勝 33.33%
    (61.11%)
    21.05%
    (34.74%)
    42.31%
    (80.38%)
    --
    (--)
    0.00%
    (0.00%)
    35.71%
    (65.48%)
    68.89%
    (61.41%)
    枠連 6.67%
    (44.00%)
    10.53%
    (72.63%)
    3.85%
    (23.08%)
    --
    (--)
    0.00%
    (0.00%)
    7.14%
    (47.14%)
    20.00%
    (69.62%)
    馬連 4.44%
    (44.89%)
    5.26%
    (44.74%)
    3.85%
    (45.00%)
    --
    (--)
    0.00%
    (0.00%)
    4.76%
    (48.10%)
    8.89%
    (33.26%)
    ワイド 8.89%
    (87.78%)
    5.26%
    (21.05%)
    11.54%
    (136.54%)
    --
    (--)
    0.00%
    (0.00%)
    9.52%
    (94.05%)
    17.78%
    (52.59%)
    馬単 2.22%
    (45.11%)
    5.26%
    (106.84%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    2.38%
    (48.33%)
    8.89%
    (36.63%)
    三連複 2.22%
    (31.11%)
    0.00%
    (0.00%)
    3.85%
    (53.85%)
    --
    (--)
    0.00%
    (0.00%)
    2.38%
    (33.33%)
    2.22%
    (7.78%)
    三連単 0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    2.22%
    (4.23%)
    総合 35.56%
    (48.92%)
    26.32%
    (40.66%)
    42.31%
    (54.95%)
    --
    (--)
    0.00%
    (0.00%)
    38.10%
    (52.41%)
    71.11%
    (23.90%)
  • ShinbaTimeCK.lgbm RMSE 1.6305
    45R 1点 芝(19R) ダート(26R) 8頭以下(0R) 9~12頭(3R) 13頭以上(42R) 多点
    単勝 11.11%
    (67.33%)
    5.26%
    (14.21%)
    15.38%
    (106.15%)
    --
    (--)
    33.33%
    (120.00%)
    9.52%
    (63.57%)
    31.11%
    (47.19%)
    複勝 44.44%
    (98.00%)
    42.11%
    (77.89%)
    46.15%
    (112.69%)
    --
    (--)
    66.67%
    (213.33%)
    42.86%
    (89.76%)
    75.56%
    (64.37%)
    枠連 6.67%
    (35.11%)
    10.53%
    (60.00%)
    3.85%
    (16.92%)
    --
    (--)
    0.00%
    (0.00%)
    7.14%
    (37.62%)
    15.56%
    (51.80%)
    馬連 4.44%
    (32.89%)
    5.26%
    (44.74%)
    3.85%
    (24.23%)
    --
    (--)
    0.00%
    (0.00%)
    4.76%
    (35.24%)
    4.44%
    (10.96%)
    ワイド 11.11%
    (82.67%)
    10.53%
    (92.63%)
    11.54%
    (75.38%)
    --
    (--)
    33.33%
    (453.33%)
    9.52%
    (56.19%)
    20.00%
    (42.74%)
    馬単 0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    4.44%
    (11.59%)
    三連複 0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    4.44%
    (17.61%)
    三連単 0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    4.44%
    (9.42%)
    総合 44.44%
    (39.50%)
    42.11%
    (36.18%)
    46.15%
    (41.92%)
    --
    (--)
    66.67%
    (98.33%)
    42.86%
    (35.30%)
    75.56%
    (20.66%)
  • SouhaTimeCK.mlnet RMSE 1.4586
    483R 1点 芝(201R) ダート(261R) 障害(21R) 8頭以下(15R) 9~12頭(102R) 13頭以上(366R) 多点
    単勝 19.46%
    (72.63%)
    15.92%
    (75.67%)
    21.84%
    (70.77%)
    23.81%
    (66.67%)
    20.00%
    (38.00%)
    20.59%
    (83.63%)
    19.13%
    (70.98%)
    42.03%
    (72.23%)
    複勝 44.72%
    (84.08%)
    37.81%
    (70.70%)
    48.28%
    (93.14%)
    66.67%
    (99.52%)
    46.67%
    (68.67%)
    57.84%
    (103.24%)
    40.98%
    (79.37%)
    81.57%
    (82.18%)
    枠連 6.62%
    (69.47%)
    6.56%
    (95.96%)
    6.72%
    (47.71%)
    5.88%
    (108.24%)
    --
    (--)
    8.82%
    (115.49%)
    5.74%
    (53.80%)
    21.85%
    (84.82%)
    馬連 4.14%
    (39.67%)
    3.48%
    (44.93%)
    4.60%
    (32.49%)
    4.76%
    (78.57%)
    6.67%
    (20.00%)
    5.88%
    (89.12%)
    3.55%
    (26.69%)
    14.49%
    (68.45%)
    ワイド 13.04%
    (86.65%)
    10.95%
    (47.61%)
    13.79%
    (114.75%)
    23.81%
    (110.95%)
    20.00%
    (34.00%)
    17.65%
    (71.86%)
    11.48%
    (92.92%)
    30.85%
    (79.87%)
    馬単 2.69%
    (42.55%)
    2.49%
    (62.34%)
    3.07%
    (30.73%)
    0.00%
    (0.00%)
    6.67%
    (24.00%)
    1.96%
    (60.29%)
    2.73%
    (38.36%)
    14.49%
    (69.17%)
    三連複 2.90%
    (77.83%)
    3.48%
    (78.51%)
    2.68%
    (83.56%)
    0.00%
    (0.00%)
    6.67%
    (48.00%)
    2.94%
    (37.55%)
    2.73%
    (90.27%)
    8.90%
    (53.14%)
    三連単 0.41%
    (10.33%)
    0.00%
    (0.00%)
    0.77%
    (19.12%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.55%
    (13.63%)
    8.90%
    (57.77%)
    総合 45.55%
    (60.33%)
    38.81%
    (59.05%)
    49.04%
    (61.59%)
    66.67%
    (56.77%)
    46.67%
    (33.24%)
    58.82%
    (70.15%)
    41.80%
    (58.25%)
    81.99%
    (64.68%)
  • SouhaTimeCK.zip RMSE 1.4117
    483R 1点 芝(201R) ダート(261R) 障害(21R) 8頭以下(15R) 9~12頭(102R) 13頭以上(366R) 多点
    単勝 21.53%
    (73.31%)
    14.93%
    (73.48%)
    26.82%
    (75.21%)
    19.05%
    (48.10%)
    20.00%
    (46.00%)
    23.53%
    (97.35%)
    21.04%
    (67.73%)
    49.69%
    (89.35%)
    複勝 49.90%
    (83.75%)
    45.77%
    (85.02%)
    52.87%
    (83.75%)
    52.38%
    (71.43%)
    60.00%
    (89.33%)
    56.86%
    (95.10%)
    47.54%
    (80.36%)
    87.99%
    (89.27%)
    枠連 12.58%
    (81.08%)
    10.38%
    (77.65%)
    15.02%
    (89.01%)
    0.00%
    (0.00%)
    --
    (--)
    10.78%
    (61.96%)
    12.57%
    (83.09%)
    26.49%
    (86.37%)
    馬連 8.28%
    (74.06%)
    6.97%
    (77.61%)
    9.96%
    (77.28%)
    0.00%
    (0.00%)
    13.33%
    (38.00%)
    8.82%
    (61.86%)
    7.92%
    (78.93%)
    19.46%
    (101.00%)
    ワイド 20.08%
    (85.45%)
    15.92%
    (79.60%)
    23.75%
    (93.33%)
    14.29%
    (43.33%)
    46.67%
    (124.67%)
    26.47%
    (96.57%)
    17.21%
    (80.74%)
    39.34%
    (89.74%)
    馬単 4.55%
    (69.88%)
    3.48%
    (90.35%)
    5.75%
    (59.73%)
    0.00%
    (0.00%)
    6.67%
    (24.00%)
    5.88%
    (111.27%)
    4.10%
    (60.22%)
    19.46%
    (106.62%)
    三連複 4.97%
    (52.19%)
    4.98%
    (39.20%)
    4.98%
    (64.14%)
    4.76%
    (28.10%)
    26.67%
    (244.00%)
    8.82%
    (88.53%)
    3.01%
    (34.21%)
    12.42%
    (85.94%)
    三連単 1.04%
    (53.27%)
    0.50%
    (9.00%)
    1.53%
    (91.65%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    1.96%
    (69.22%)
    0.82%
    (51.01%)
    12.42%
    (78.51%)
    総合 51.55%
    (71.55%)
    47.26%
    (66.36%)
    54.41%
    (79.23%)
    57.14%
    (24.45%)
    73.33%
    (80.86%)
    56.86%
    (85.23%)
    49.18%
    (67.04%)
    88.20%
    (86.43%)
  • SouhaTimeCK.lgbm RMSE 1.3618
    483R 1点 芝(201R) ダート(261R) 障害(21R) 8頭以下(15R) 9~12頭(102R) 13頭以上(366R) 多点
    単勝 22.98%
    (72.71%)
    14.93%
    (58.16%)
    28.74%
    (82.87%)
    28.57%
    (85.71%)
    26.67%
    (56.67%)
    26.47%
    (81.37%)
    21.86%
    (70.96%)
    51.14%
    (79.41%)
    複勝 54.45%
    (86.54%)
    47.26%
    (78.46%)
    59.77%
    (92.80%)
    57.14%
    (86.19%)
    66.67%
    (94.67%)
    59.80%
    (82.55%)
    52.46%
    (87.32%)
    87.78%
    (81.86%)
    枠連 10.82%
    (78.32%)
    7.10%
    (54.21%)
    13.04%
    (88.97%)
    17.65%
    (179.41%)
    --
    (--)
    10.78%
    (50.39%)
    10.38%
    (82.90%)
    25.17%
    (75.10%)
    馬連 8.07%
    (97.00%)
    4.48%
    (98.01%)
    10.34%
    (92.95%)
    14.29%
    (137.62%)
    26.67%
    (82.00%)
    7.84%
    (56.57%)
    7.38%
    (108.88%)
    19.46%
    (80.73%)
    ワイド 19.46%
    (73.66%)
    15.42%
    (75.27%)
    21.84%
    (71.65%)
    28.57%
    (83.33%)
    33.33%
    (63.33%)
    25.49%
    (71.57%)
    17.21%
    (74.67%)
    37.27%
    (70.05%)
    馬単 4.14%
    (96.81%)
    1.49%
    (119.70%)
    6.13%
    (75.06%)
    4.76%
    (148.10%)
    6.67%
    (36.00%)
    3.92%
    (80.10%)
    4.10%
    (103.96%)
    19.46%
    (73.81%)
    三連複 4.35%
    (44.87%)
    4.98%
    (60.60%)
    3.83%
    (31.95%)
    4.76%
    (54.76%)
    6.67%
    (48.00%)
    8.82%
    (82.55%)
    3.01%
    (34.23%)
    11.80%
    (57.73%)
    三連単 0.83%
    (24.37%)
    0.50%
    (15.57%)
    1.15%
    (33.10%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    1.96%
    (70.88%)
    0.55%
    (12.40%)
    11.80%
    (55.67%)
    総合 55.49%
    (71.73%)
    47.76%
    (70.18%)
    61.30%
    (71.10%)
    57.14%
    (94.88%)
    66.67%
    (54.38%)
    60.78%
    (72.00%)
    53.55%
    (71.92%)
    87.78%
    (64.64%)

モデルビルダーもAutoMLもまだまだ回数こなせてない中での比較です。取敢えず、今週末どれで行くか悩む所ですが、たまたまなのか何かバグでなのかは不明ですが、新馬戦用は現時点でモデルビルダーとAutoMLは同じ結果になってる😓

2025/02/28

Windows11 Pro環境の再調整

先日グラフィックボード周りの諸々してた時に、Windows11の表示設定が初期化されたりで悩んでたのでメモしておきます。

まず、OSの根本的な部分でウィンドウズメニューの「設定」から「アクセシビリティ」に行き「テキストのサイズ」に行き、

テキストのサイズを180%に指定。Edgeの設定では「設定」の「外観」で一番下までスクロールすると出てくる

このフォントのカスタマイズで調整して大体良い感じになりました。

するとさらだの画面に変化が出るフォームがあったので対処しました。さらだのフォームは色々なWindow環境をまたいで開発してしまった関係で個々のフォームの開発時期で微妙に違っちゃってます。ある程度落ち着いたら全てのフォームを設計しなおす必要性は痛感してます。

CUDA Toolkitの怪

そもそもインストール自体がスムーズではなかったので一概に言えないのですが、数日前に入れた修正のデバッグ作業時にブレークポイント指定してデバッグ開始しても、このブレークポイントは有効じゃない的な表示が出ました。はて?こんなの見た事ないって事で色々してるとCUDA ToolkitってVisual Studioに統合させるNsightとかなんとかがあるんですけど、Visual Studioの動作が変わる原因なんてこれしか入れてないのでアンインストール。

はい、これで解決したって事はねぇ。実はPythonで素のTensorFlow使って学習モデルを作成して、そのモデルをWindowsアプリで利用する方法の検討しようかと、CUDAにTensorFlowって対応してる筈でCopilotが案内してくれてたんです。ちょっとその影響は不明ですが、CUDA無で今後時間出来たらってか作らなきゃなんですがトライ予定です。

2025/02/27

ML.NET Model Builder 2022 Version 17.19.2.2511501

Model BuilderのGitHub管理はアバウトなもので未だ最新リリースはJun 27, 2023となってます。先週だったか、まあ、少し前に更新が来てる事に気が付いたので入れました。次のアプリのリリースはこのまま行くとVersion 2.3.2になりそうですが、それに含める学習モデルを準備します。

当然タイトルのが最新かと思うのでこれ使って作業進めていきます。新馬戦用は3,600秒(1時間)を何度か試して、通常版は86,400秒(24時間)を何度か。更にAutoMLの新馬戦用、通常版、LightGBMのと進めていきます。順調に進んでも1週間で終わるかは微妙ですね。ただ、Model BuilderとAutoMLは最低1つ用意してテストはして、良いものが得られそうなどちらかに絞って作業は進めます。マシンパワーに余裕があれば並列で行きますが、現状2つ並列で行うと互いにCPU奪い合い、ブラウザーなんかの動作はもっさりと遅くなる程なので地道に行きます。

ML.NET Version 5.0.0-preview1.25125.4

今、血統登録番号が10桁だからって件で色々作業してるなか、これまで利用してたML.NETはVersion 4.0.1だったんですが、昨日どうやらVersion 4.0.2がリリースされて、更にプレビュー版まで出た模様です。安定版なら問題はないものと思いますが、いつくもテストするには時間が限られてるので...これするとハマるかもだけど、プレビュー版に移行してみます。

いっぱい待たせちゃってますが、自分も急ぎたいので...ああっ、数日前にModel Builderの更新が来てるのも確認してます。なので、全てやり直しは覚悟してますが、良い結果がってか、努力に見合う結果が出てくれればと願うばかりです。

結局AutoMLでは血統登録番号に関しては元に戻す羽目に😖 CopilotとGeminiに質問ぶつけて突破を試みましたが、やはり自分の記憶してたAutoMLは基本floatってのが正解だった事を思い知らされました。確かにstringも扱えるとは思いますが、データ欠損時等の対処が内部的にあるらしいがこちらはどうしようもなくってかかなり面倒な事してもダメでした。そもそも不透明なものの、更に内部なんて分る筈もなく、1カ月以上掛けて奮闘してきましたがAutoMLに関していうと現状維持で回避。まあ、今回のML.NET自体のバージョンアップが良い方向に作用してくれる事を期待しながら前進あるのみです。

2025/02/23

第42回フェブラリーステークス

今日は初っ端小倉1Rで三連複取ったので気分は良い😀 いや、そんな大きな馬券ではないけど、1点100円のみだけど、1点で三連複取るのはやはりうれしいから。

俺プロがガラガラと崩れ8段から5段まで落ちた😖 学習モデルが思うように行ってないのが原因でもあるけど、LightGBMで新馬戦最適RMSE 1.6305と通常用最適RMSE 1.3618まで来たのでこれ使って順位予測用学習CSVデータを出力中。完了次第に学習させてみます。

今年初の中央GIですが、やはり独自に印を打ってみました。いや、単にサウジCの坂井君のお手馬だしって事でのってみただけですけど、

こんな大きいのが当たれば嬉しいですが、本日、実はこれ書きながら勝ちが確定しました😁
障害レースはこれまでの学習モデルでも大体優秀な成績だったりしますので

三連に手を出さなかったのも良かった😜

  • ShinbaTimeCK.lgbm RMSE 1.6305
    41R 1点 芝(19R) ダート(22R) 8頭以下(0R) 9~12頭(2R) 13頭以上(39R) 多点
    単勝 9.76%
    (65.12%)
    5.26%
    (14.21%)
    13.64%
    (109.09%)
    --
    (--)
    0.00%
    (0.00%)
    10.26%
    (68.46%)
    29.27%
    (45.61%)
    複勝 43.90%
    (86.83%)
    42.11%
    (77.89%)
    45.45%
    (94.55%)
    --
    (--)
    50.00%
    (250.00%)
    43.59%
    (78.46%)
    75.61%
    (62.36%)
    枠連 7.32%
    (38.54%)
    10.53%
    (60.00%)
    4.55%
    (20.00%)
    --
    (--)
    0.00%
    (0.00%)
    7.69%
    (40.51%)
    17.07%
    (56.67%)
    馬連 4.88%
    (36.10%)
    5.26%
    (44.74%)
    4.55%
    (28.64%)
    --
    (--)
    0.00%
    (0.00%)
    5.13%
    (37.95%)
    4.88%
    (12.03%)
    ワイド 12.20%
    (90.73%)
    10.53%
    (92.63%)
    13.64%
    (89.09%)
    --
    (--)
    50.00%
    (680.00%)
    10.26%
    (60.51%)
    21.95%
    (46.91%)
    馬単 0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    4.88%
    (12.72%)
    三連複 0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    4.88%
    (19.33%)
    三連単 0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    4.88%
    (10.34%)
    総合 43.90%
    (39.66%)
    42.11%
    (36.18%)
    45.45%
    (42.67%)
    --
    (--)
    50.00%
    (116.25%)
    43.59%
    (35.74%)
    75.61%
    (21.78%)
  • SouhaTimeCK.lgbm RMSE 1.3618
    415R 1点 芝(171R) ダート(226R) 障害(18R) 8頭以下(13R) 9~12頭(81R) 13頭以上(321R) 多点
    単勝 23.37%
    (75.61%)
    15.79%
    (64.56%)
    29.65%
    (86.19%)
    16.67%
    (47.78%)
    30.77%
    (65.38%)
    27.16%
    (82.22%)
    22.12%
    (74.36%)
    51.08%
    (80.94%)
    複勝 53.98%
    (86.05%)
    46.78%
    (78.77%)
    59.73%
    (92.74%)
    50.00%
    (71.11%)
    76.92%
    (109.23%)
    60.49%
    (80.86%)
    51.40%
    (86.42%)
    86.51%
    (80.39%)
    枠連 9.97%
    (65.63%)
    6.96%
    (57.91%)
    11.87%
    (69.86%)
    14.29%
    (86.43%)
    --
    (--)
    8.64%
    (30.00%)
    9.97%
    (72.37%)
    24.55%
    (70.15%)
    馬連 7.71%
    (83.13%)
    4.68%
    (112.69%)
    9.73%
    (61.90%)
    11.11%
    (68.89%)
    30.77%
    (94.62%)
    6.17%
    (32.72%)
    7.17%
    (95.39%)
    19.28%
    (77.82%)
    ワイド 17.35%
    (62.10%)
    13.45%
    (71.11%)
    19.47%
    (54.87%)
    27.78%
    (67.22%)
    38.46%
    (73.08%)
    22.22%
    (57.90%)
    15.26%
    (62.71%)
    36.14%
    (67.20%)
    馬単 4.10%
    (100.10%)
    1.17%
    (135.73%)
    6.64%
    (81.11%)
    0.00%
    (0.00%)
    7.69%
    (41.54%)
    2.47%
    (46.91%)
    4.36%
    (115.89%)
    19.28%
    (70.88%)
    三連複 3.61%
    (33.93%)
    4.09%
    (44.33%)
    3.10%
    (23.67%)
    5.56%
    (63.89%)
    7.69%
    (55.38%)
    8.64%
    (74.07%)
    2.18%
    (22.93%)
    11.57%
    (60.42%)
    三連単 0.48%
    (8.63%)
    0.00%
    (0.00%)
    0.88%
    (15.84%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    1.23%
    (26.79%)
    0.31%
    (4.39%)
    11.57%
    (58.08%)
    総合 54.94%
    (64.39%)
    47.37%
    (70.76%)
    61.06%
    (60.74%)
    50.00%
    (49.64%)
    76.92%
    (62.75%)
    61.73%
    (53.94%)
    52.34%
    (66.81%)
    86.51%
    (65.07%)
  • RaceJuniFullCK.lgbm
    N.A.

うわっ、これ見たら障害微妙だわw やはり、検証期間短いと何ともですね。

追記 2025.2.23 12:25
ワイド買い忘れてた^^;

今日はこれから兄の四十九日法要及び納骨で出かけます。

2025/02/22

NVIDIAのGPU

もう6年?今年の夏で丸7年(2018.8.15購入)になる自分のPCにはグラボはNVIDIA GeForce GTX 1050 Tiが乗ったZOTAC ZTGTX1050TI-4GD5MINI001/ZT-P10510A-10ってのを18,800円で採用してます。価格からも分るように大したものではありません。当時4Kモニターに対応してればって最低限のグラボを選んだ気がします。別に取り立ててPCでゲームをしたいって事でもなかったのでね。

ただ、そもそもCPUもIntel Core i7-8700なんでAI利用には決して良い環境ではないので非力でもGPUも最大限利用するのは良いのでは思いちょっと作業。CUDA Toolkit 12.8をダウンロード(3.2GBもある)してインストール。cuDNN 9.7.1をダウンロード(762.4MB)してインストール。

この作業ですがちょっと色々と時間取ってます。CUDA Toolkitのインストーラーが途中で止まってしまうんです。グラフィックボードのドライバーを最新にしたりしてあったのに、インストーラーがドライバーが古いですよって感じのメッセージ出すし😥

これ、Copilotに質問ぶつけたら、Nsight Visual Studio Editionが問題起こしやすいのでカスタムセットアップを使って、これ抜きでした後に後からってインストールした方が良いですよって感じの話だったので試すも、確かに抜きだとインストーラーが無事にインストール完了したんですが、後から有でやると結局途中で止まる。まあ、そんな繰り返しでOSのインストールされているアプリを確認するとインストールはされていたので結果OK?

この後Visual Studioを起動すると確かにNsight使う?的な確認が出るのでしばらくこのまま進めようかと思います。

iPhone 16用の無線充電

前の機種iPhone Xs Max用に無線充電器は3種類5点程所有してました。Xs Maxと16 Pro Maxで圧倒的な違いはカメラ部分です。Xs Maxはほぼ平面なんですが、16 Pro Maxはカメラ部分が出っ張ってます。更にメンズカバーもして更になのでこれが邪魔して無線充電器に置いても反応する位置が本当に限られてます。レンズカバーと干渉して浮いた状態になるのが原因かと思います。正方形ベースが大き過ぎる?

これ、1,258円でamazonで2022.11.25に購入してます。で、今回は
こちらを2,448円で購入してみました。コスパがいまいちなんで、しばらく使って検討してみます。まあ、間違いなくこちらなら問題なく充電出来てますし、Qi2って事で高速充電もどの程度かって思いますが、急速充電はバッテリーに負荷が掛かるのも気になります。

今更寒さ対策

現在の勤務先に通勤し始めて既に1年3カ月。自宅から片道30㎞程のマイカー通勤なんですが、交代勤務もしたりしてますので、冬は寒いです。マイカーは今月19年目の車検通したダイハツ アトレーなんですが、妻の4年程前に購入したタント カスタムにはシートヒーターが装備されてますが、自分のには無いです。ネットで検索すると後付けシートヒーターが意外と小額投資で導入出来るって事で今回購入に踏み切ってみました。

シガーソケットに既にPfumisa FMトランスミッター Bluetooth 車用をつけてるのでシガーソケットの増設も必要だったので

ザックリと3,860円でシートヒーターを導入。まっ、厳密にはシガーソケットを固定する為に両面テープを購入しましたがこれはコストには含めないでおきます。

昨夜、早速(夜勤だし)試しましたが快適です。HiとLowがありますが、行きは心配でHiで試しましたが、エンジンが温まる前にシートヒーターは暖かくなります😁 帰宅時はLowで行きましたが全く問題ないです。

この車、いつまで乗り続けるかは微妙ですが、まずは春まで暖めてもらえればありがたい。

シガーソケットがマイカーに固定するのに両面テープを購入したけど、実際に固定出来る場所は限られてて、若干悩みましたが完了。しかし、R面なんでどの程度の期間行けるか...

2025/02/21

LightGBM v4.6.0をビルド(DLL)

気が付けば、1週間程前に新しいバージョンがリリースされてました。で、早速ビルドなんですが、プロジェクトが古いもの(GitHubのソースで利用されているものが)なのでVisual Studioで最初に開こうとするとコンバートするか確認されるのでそのまま続行。で、そのままビルド試みるとエラーが出ます。対処方法をCopilotに確認するとプロジェクトのプロパティで

「C/C++」の「コマンドライン」の追加オプションに「/utf-8」を入れればOKとアドバイスされるのでその通りにやれば、v4.5.0でincludeのパスがエラーになったりもなく無事にビルドされました。

LightGBM-complete_source_code_zip\windows\x64\DLLに必要なファイルが作成されるので自分のプロジェクトにあるlib_lightgbm.dllとlib_lightgbm.pdbを出来上がったもので上書き。

ここまでの学習モデル検証

学習データは2004.1.1~2024.12.31の21年分で検証期間は2025.1.1~2025.2.16です。

  • ShinbaTimeCK.mlnet RMSE 1.9768
    41R 1点 芝(19R) ダート(22R) 8頭以下(0R) 9~12頭(2R) 13頭以上(39R) 多点
    単勝 12.20%
    (69.76%)
    5.26%
    (31.05%)
    18.18%
    (103.18%)
    --
    (--)
    0.00%
    (0.00%)
    12.82%
    (73.33%)
    36.59%
    (75.28%)
    複勝 34.15%
    (82.93%)
    21.05%
    (33.68%)
    45.45%
    (125.45%)
    --
    (--)
    0.00%
    (0.00%)
    35.90%
    (87.18%)
    80.49%
    (76.42%)
    枠連 7.32%
    (67.56%)
    5.26%
    (44.74%)
    9.09%
    (87.27%)
    --
    (--)
    0.00%
    (0.00%)
    7.69%
    (71.03%)
    14.63%
    (136.36%)
    馬連 7.32%
    (94.15%)
    5.26%
    (44.74%)
    9.09%
    (136.82%)
    --
    (--)
    0.00%
    (0.00%)
    7.69%
    (98.97%)
    9.76%
    (36.50%)
    ワイド 12.20%
    (110.73%)
    5.26%
    (21.05%)
    18.18%
    (188.18%)
    --
    (--)
    0.00%
    (0.00%)
    12.82%
    (116.41%)
    17.07%
    (52.20%)
    馬単 2.44%
    (49.51%)
    5.26%
    (106.84%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    2.56%
    (52.05%)
    9.76%
    (40.20%)
    三連複 2.44%
    (34.15%)
    0.00%
    (0.00%)
    4.55%
    (63.64%)
    --
    (--)
    0.00%
    (0.00%)
    2.56%
    (35.90%)
    7.32%
    (289.45%)
    三連単 0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    7.32%
    (335.15%)
    総合 34.15%
    (63.60%)
    21.05%
    (35.26%)
    45.45%
    (88.07%)
    --
    (--)
    0.00%
    (0.00%)
    35.90%
    (66.86%)
    80.49%
    (215.97%)
  • SouhaTimeCK.mlnet RMSE 1.3958
    415R 1点 芝(171R) ダート(226R) 障害(18R) 8頭以下(13R) 9~12頭(81R) 13頭以上(321R) 多点
    単勝 17.35%
    (61.06%)
    10.53%
    (49.36%)
    22.12%
    (70.75%)
    22.22%
    (50.56%)
    23.08%
    (62.31%)
    19.75%
    (62.96%)
    16.51%
    (60.53%)
    45.78%
    (73.25%)
    複勝 47.95%
    (87.66%)
    40.94%
    (89.36%)
    52.21%
    (87.30%)
    61.11%
    (76.11%)
    53.85%
    (73.85%)
    54.32%
    (81.48%)
    46.11%
    (89.78%)
    85.06%
    (84.35%)
    枠連 12.02%
    (81.79%)
    12.03%
    (101.52%)
    11.87%
    (55.48%)
    14.29%
    (270.71%)
    --
    (--)
    18.52%
    (130.86%)
    9.97%
    (66.60%)
    26.85%
    (79.90%)
    馬連 6.99%
    (49.59%)
    4.68%
    (37.43%)
    8.41%
    (48.23%)
    11.11%
    (182.22%)
    7.69%
    (23.08%)
    13.58%
    (102.35%)
    5.30%
    (37.35%)
    18.07%
    (59.65%)
    ワイド 17.83%
    (86.53%)
    14.04%
    (91.52%)
    20.35%
    (82.92%)
    22.22%
    (84.44%)
    23.08%
    (47.69%)
    24.69%
    (74.32%)
    15.89%
    (91.18%)
    36.87%
    (75.12%)
    馬単 3.37%
    (32.05%)
    0.00%
    (0.00%)
    5.75%
    (54.65%)
    5.56%
    (52.78%)
    7.69%
    (27.69%)
    4.94%
    (64.57%)
    2.80%
    (24.02%)
    18.07%
    (57.34%)
    三連複 4.34%
    (57.40%)
    4.09%
    (60.18%)
    4.87%
    (59.87%)
    0.00%
    (0.00%)
    7.69%
    (98.46%)
    6.17%
    (58.52%)
    3.74%
    (55.45%)
    10.36%
    (70.19%)
    三連単 0.48%
    (9.35%)
    0.00%
    (0.00%)
    0.88%
    (17.17%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.62%
    (12.09%)
    10.36%
    (55.31%)
    総合 49.64%
    (58.01%)
    42.11%
    (53.21%)
    54.42%
    (59.56%)
    61.11%
    (84.43%)
    53.85%
    (47.58%)
    58.02%
    (71.88%)
    47.35%
    (54.63%)
    85.30%
    (62.51%)
  • RaceJuniFullCK.mlnet
    N.A.
  • ShinbaTimeCK.lgbm RMSE 1.6378
    41R 1点 芝(19R) ダート(22R) 8頭以下(0R) 9~12頭(2R) 13頭以上(39R) 多点
    単勝 9.76%
    (27.32%)
    5.26%
    (12.63%)
    13.64%
    (40.00%)
    --
    (--)
    50.00%
    (175.00%)
    7.69%
    (19.74%)
    29.27%
    (50.49%)
    複勝 34.15%
    (55.12%)
    36.84%
    (56.32%)
    31.82%
    (54.09%)
    --
    (--)
    50.00%
    (70.00%)
    33.33%
    (54.36%)
    75.61%
    (63.58%)
    枠連 7.32%
    (37.56%)
    15.79%
    (81.05%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    7.69%
    (39.49%)
    17.07%
    (51.62%)
    馬連 2.44%
    (20.73%)
    5.26%
    (44.74%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    2.56%
    (21.79%)
    7.32%
    (50.00%)
    ワイド 4.88%
    (19.76%)
    5.26%
    (21.05%)
    4.55%
    (18.64%)
    --
    (--)
    0.00%
    (0.00%)
    5.13%
    (20.77%)
    21.95%
    (43.66%)
    馬単 0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    7.32%
    (43.82%)
    三連複 0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    2.44%
    (93.96%)
    三連単 0.00%
    (0.00%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    --
    (--)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    2.44%
    (54.43%)
    総合 39.02%
    (20.06%)
    47.37%
    (26.97%)
    31.82%
    (14.09%)
    --
    (--)
    50.00%
    (30.63%)
    38.46%
    (19.52%)
    78.05%
    (55.59%)
  • SouhaTimeCK.lgbm RMSE 1.3662
    415R 1点 芝(171R) ダート(226R) 障害(18R) 8頭以下(13R) 9~12頭(81R) 13頭以上(321R) 多点
    単勝 23.86%
    (106.55%)
    19.88%
    (150.76%)
    26.99%
    (77.04%)
    22.22%
    (57.22%)
    30.77%
    (65.38%)
    32.10%
    (158.27%)
    21.50%
    (95.17%)
    56.14%
    (95.72%)
    複勝 52.29%
    (88.22%)
    50.29%
    (104.62%)
    53.98%
    (78.01%)
    50.00%
    (60.56%)
    61.54%
    (73.08%)
    61.73%
    (93.33%)
    49.53%
    (87.54%)
    86.51%
    (82.86%)
    枠連 12.53%
    (103.73%)
    8.86%
    (109.87%)
    15.53%
    (102.05%)
    7.14%
    (60.71%)
    --
    (--)
    12.35%
    (147.28%)
    12.15%
    (89.19%)
    29.16%
    (87.10%)
    馬連 10.36%
    (108.48%)
    7.02%
    (116.14%)
    13.72%
    (111.33%)
    0.00%
    (0.00%)
    15.38%
    (50.00%)
    11.11%
    (120.00%)
    9.97%
    (107.94%)
    22.89%
    (81.43%)
    ワイド 20.00%
    (75.01%)
    15.79%
    (75.44%)
    23.89%
    (76.95%)
    11.11%
    (46.67%)
    30.77%
    (66.15%)
    27.16%
    (95.93%)
    17.76%
    (70.09%)
    38.31%
    (71.82%)
    馬単 5.30%
    (111.69%)
    4.09%
    (171.81%)
    6.64%
    (75.09%)
    0.00%
    (0.00%)
    7.69%
    (41.54%)
    6.17%
    (199.63%)
    4.98%
    (92.34%)
    22.89%
    (78.91%)
    三連複 5.30%
    (64.43%)
    3.51%
    (62.57%)
    6.64%
    (68.36%)
    5.56%
    (32.78%)
    15.38%
    (69.23%)
    8.64%
    (56.67%)
    4.05%
    (66.20%)
    12.53%
    (67.32%)
    三連単 0.96%
    (105.23%)
    1.17%
    (232.28%)
    0.88%
    (17.48%)
    0.00%
    (0.00%)
    7.69%
    (136.92%)
    1.23%
    (26.79%)
    0.62%
    (123.74%)
    12.53%
    (58.56%)
    総合 53.01%
    (95.36%)
    51.46%
    (128.11%)
    54.42%
    (75.69%)
    50.00%
    (31.43%)
    69.23%
    (71.76%)
    61.73%
    (112.24%)
    50.16%
    (91.53%)
    86.75%
    (69.36%)
  • RaceJuniFullCK.lgbm
    456R 1点 芝(190R) ダート(248R) 障害(18R) 8頭以下(13R) 9~12頭(83R) 13頭以上(360R) 多点
    単勝 21.71%
    (98.25%)
    18.95%
    (133.53%)
    24.19%
    (75.24%)
    16.67%
    (42.78%)
    38.46%
    (95.38%)
    22.89%
    (84.10%)
    20.83%
    (101.61%)
    49.78%
    (86.12%)
    複勝 53.07%
    (93.00%)
    49.47%
    (101.47%)
    55.24%
    (87.30%)
    61.11%
    (82.22%)
    69.23%
    (93.08%)
    56.63%
    (81.81%)
    51.67%
    (95.58%)
    86.84%
    (85.42%)
    枠連 13.19%
    (91.60%)
    9.04%
    (60.79%)
    15.77%
    (104.48%)
    21.43%
    (259.29%)
    --
    (--)
    18.07%
    (101.57%)
    11.67%
    (86.50%)
    28.01%
    (87.52%)
    馬連 8.99%
    (78.82%)
    4.74%
    (33.47%)
    12.10%
    (107.02%)
    11.11%
    (168.89%)
    38.46%
    (162.31%)
    10.84%
    (71.57%)
    7.50%
    (77.47%)
    19.74%
    (75.86%)
    ワイド 19.96%
    (85.68%)
    14.21%
    (79.68%)
    23.79%
    (88.63%)
    27.78%
    (108.33%)
    53.85%
    (123.08%)
    27.71%
    (81.33%)
    16.94%
    (85.33%)
    38.16%
    (77.24%)
    馬単 4.82%
    (71.71%)
    2.11%
    (23.32%)
    6.85%
    (97.58%)
    5.56%
    (226.11%)
    15.38%
    (168.46%)
    7.23%
    (83.25%)
    3.89%
    (65.56%)
    19.74%
    (73.52%)
    三連複 4.17%
    (60.90%)
    2.63%
    (24.42%)
    5.65%
    (93.27%)
    0.00%
    (0.00%)
    15.38%
    (120.77%)
    7.23%
    (47.11%)
    3.06%
    (61.92%)
    10.96%
    (77.10%)
    三連単 0.88%
    (129.82%)
    0.00%
    (0.00%)
    1.61%
    (238.71%)
    0.00%
    (0.00%)
    0.00%
    (0.00%)
    1.20%
    (26.14%)
    0.83%
    (158.42%)
    10.96%
    (70.20%)
    総合 54.17%
    (88.70%)
    50.53%
    (57.05%)
    56.05%
    (111.55%)
    66.67%
    (106.71%)
    69.23%
    (109.01%)
    59.04%
    (72.11%)
    52.50%
    (91.55%)
    87.94%
    (74.82%)

モデルビルダーはまだまだな感じは否めない。LightGBMは若干悪くない感じですが、新馬戦用がもう少し改善すればって思います。ただ、あまりにもユーザー様を待たせてしまってるので、妥協してこの辺りのモデルで順位予測も学習させてリリースさせるべきかと思います。

追記 2025.2.22 7:58
最初アップした時点ではまだ順位予測全く学習させてませんでしたが、LightGBMでは試しにv4.6.0でしてみた結果を入れてみました。