Operation
Construct Fish Attribute
Construct Fish Attribute
コンポーネントを使用すると、最適化トライアルに関連付ける属性情報を指定できます。
ZUI に対応しており、入力数は任意です。
入力したニックネームは属性名として値とペアで保存されるため、最適化のあとに
Deconstruct Fish Attribute コンポーネントで、名前を頼りに値を取り出せます。
Constraint は特別な入力項目です。 ここに入力されたすべての値が 0
以下の場合、そのトライアルは実行可能と判定されます。
制約条件を考慮したい場合は、この入力を使用してください。 たとえば、ある評価値を
100 以下に収めたい場合は、その値から 100
を引いたものを入力することで、制約を満たすときだけ 0 以下になります。
制約を設定すると最適化の種類が変わるため、Tunny の UI
では制約に対応したサンプラーだけが利用できるようになります。 また Output タブの
Feasible
を使用することで、すべての制約を満たしたトライアルだけをまとめて取り出せます。
IsFail も特別な属性名です。 この入力が True
に設定されると、そのトライアルは失敗とみなされます。
失敗した場合、評価には一切影響しないので、値が求められなかった組み合わせを最適化の評価から切り離せます。
属性名は大文字に変換してから比較しているため、IsFail と ISFAIL
のように大文字と小文字が違っていても同じ属性として扱われます。
ドキュメント内では IsFail の表記に統一しています。
Construct Fish Egg
Construct Fish Egg
コンポーネントを使用すると、最適化で最初に実行する変数の組み合わせを指定できます。
すでに手元に検討済みの案がある場合は、その組み合わせを登録しておくことで、そこを起点として探索を始められます。
NumberSlider などの変数を Vars に接続します。 Lay が True
に設定されると、その変数の組み合わせが登録されます。
登録をやり直したい場合は、Clear を True
に設定することで、登録されたすべての変数の組み合わせを削除できます。 Skip が
True
に設定されると、重複する組み合わせはスキップされるため、同じ組み合わせを何度も登録してしまう心配がありません。
Construct Fish Egg by CSV
Construct Fish Egg by CSV コンポーネントを使用すると、CSV 経由で Construct
Fish Egg の入力を行えます。 最初に試したい組み合わせが多い場合は、Grasshopper
上で 1 つずつ登録するよりも、CSV に書き並べて読み込むほうが手軽です。 CSV
ファイルのパスを Path に接続してください。
たとえば、ニックネームが X1 と X2 の 2 つの NumberSlider の値の組み合わせを CSV で指定する場合、以下のように記述します。
| X1 | X2 |
|---|---|
| 1 | 2 |
この場合、X1 が 1、X2 が 2 の変数の組み合わせが最初に実行されます。 列名は、変数のニックネームと対応させる必要があります。 CSV を用意する前に、NumberSlider のニックネームを確認しておいてください。
Deconstruct Fish
Deconstruct Fish コンポーネントを使用すると、Tunny の最適化結果である Fish
を分解できます。
Fish は変数や目的関数、属性をまとめて保持しているため、個別の値を Grasshopper 側で使うには、このコンポーネントで分解します。 分解することで、変数、目的関数、属性をデータツリーとして取得できます。
Deconstruct Fish Attribute
Deconstruct Fish Attribute コンポーネントを使用すると、属性を分解できます。
ExplodeTree コンポーネントと同様に、コンテキストメニューから「Match
outputs」を選択することで属性の数だけ出力が作成され、属性名ごとに値を受け取れます。
Convert Result to Tunny Log
v1.5.0 で新規追加されたコンポーネントです。 Convert Result to Tunny Log
コンポーネントは、他のプラグインで得られた最適化結果を、Optuna-Dashboard など
Tunny の後処理ツールで読み込める Tunny のログファイル(.log)に変換します。
変数の値を Variables に、目的関数の値を Objectives に接続します。
どちらもデータツリーで、1 ブランチが 1 個体に対応し、Variables のブランチ i
と Objectives のブランチ i は同じ個体を指している必要があります。
すべての変数は FloatDistribution
として書き出されるため、カテゴリカル変数は対応していません。
Variable Definitions は任意入力です。 探索空間を定義する Tunny の変数 (Number
Slider や Gene Pool)を接続すると、その変数名と範囲を使用します。
接続しない場合は、変数名と範囲はデータから自動的に推定されます。
Directions と Objective Names
も任意入力で、各目的関数の最適化の方向(minimize または
maximize、デフォルトはすべて minimize)と名前(デフォルトは
Objective0、Objective1、...)を指定できます。
出力先のログファイルのパスを File Path に指定してください。
実行するたびにファイルは上書きされます。 Study Name
はログに書き込むスタディ名です(デフォルトは study)。 Run を True
にすることでファイルが書き出されます。
Info 出力には変換結果の情報が、Path
出力には書き出したログファイルのパスが表示されます。