Snakemake:ルール内で異なる引数(整数)を使用してシェルコマンドを実行するにはどうすればよいですか?

jmai

ブーストされたデシジョンツリートレーニングに最適なハイパーパラメータを調査しようとしています。2つのインスタンスのコードは次のとおりです。

user = '/home/.../BDT/'

nestimators = [1, 2]

rule all:
        input: user + 'AUC_score.pdf'

rule testing:
        output: user + 'AUC_score.csv'
        shell: 'python bdt.py --nestimators {}'.format(nestimators[i] for i in range(2))

rule plotting:
        input: user + 'AUC_score.csv'
        output: user + 'AUC_score.pdf'
        shell: 'python opti.py

計画は次のとおりです。BDTのトレーニングをさまざまなハイパーパラメータの束と並列化したい(最初はネスティメータから始めたい)。したがって、shellコマンドを使用してbdtをトレーニングしようとします。bdt.pyは、トレーニングの引数を取得し、ハイパーパラメータとトレーニングスコアをcsvファイルにトレーニングして保存します。csvファイルで、どのハイパーパラメータが最高のスコアを与えるかを確認できます。イェイ!

悲しいことに、それはそのようには機能しません。入力関数を使おうとしましたが、整数にしたいのでうまくいきません。上記の方法で試してみましたが、「エラーメッセージ」が表示されることがわかっています:「pythonbdt.py --nestimators <generator object at0x7f5981a9d150>」。これもうまくいかない理由は理解できますが、ここからどこに行けばいいのかわかりません。

小麦

ため、エラーが発生{}ジェネレータオブジェクトによって置き換えられている、すなわち、それはされていない最初に置き換え1によって、その後2の反復子により、いわば、しかしnestimators

ルールのPython式を修正してもtesting私があなたの目的を正しく理解していれば、もっと根本的な問題があるかもしれません。snakemakeのワークフローは、入力ファイルから出力ファイルを作成する方法を定義するルールの観点から定義されています。したがって、関数テストは1回だけ呼び出されますが、ハイパーパラメーターごとに個別にルールを呼び出すことをお勧めします。

解決策は、出力のファイル名にハイパーパラメータを追加することです。このようなもの:

user = '/home/.../BDT/'

nestimators = [1, 2]

rule all:
        input: user + 'AUC_score.pdf'

rule testing:
        output: user + 'AUC_score_{hyper}.csv'
        shell: 'python bdt.py --nestimators {wildcards.hyper}'

rule plotting:
        input: expand(user + 'AUC_score_{hyper}.csv', hyper=nestimators)
        output: user + 'AUC_score.pdf'
        shell: 'python opti.py'

最後に、shell:Pythonスクリプトを呼び出すために使用する代わりにscript:ドキュメントで説明れているように直接使用できます:https//snakemake.readthedocs.io/en/stable/snakefiles/rules.html#external-scripts

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

TOP 一覧

  1. 1

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  2. 2

    Spring Boot Filter is not getting invoked if remove @component in fitler class

  3. 3

    Python / SciPyのピーク検出アルゴリズム

  4. 4

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  5. 5

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  6. 6

    androidsoongビルドシステムによるネイティブコードカバレッジ

  7. 7

    ZScalerと証明書の問題により、Dockerを使用できません

  8. 8

    VisualStudioコードの特異点/ドッカー画像でPythonインタープリターを使用するにはどうすればよいですか?

  9. 9

    ビュー用にサイズ変更した後の画像の高さと幅を取得する方法

  10. 10

    二次導関数を数値計算するときの大きな誤差

  11. 11

    Ansibleで複数行のシェルスクリプトを実行する方法

  12. 12

    画像変更コードを実行してもボタンの画像が変更されない

  13. 13

    Reactでclsxを使用する方法

  14. 14

    Three.js indexed BufferGeometry vs. InstancedBufferGeometry

  15. 15

    __init__。pyファイルの整理中に循環インポートエラーが発生しました

  16. 16

    PyTesseractを使用した背景色のため、スクリーンショットからテキストを読み取ることができません

  17. 17

    値間の一致を見つける最も簡単な方法は何ですか

  18. 18

    reCAPTCHA-エラーコード:ユーザーの応答を検証するときの「missing-input-response」、「missing-input-secret」(POSTの詳細がない)

  19. 19

    三項演算子良い練習の代わりとしてOptional.ofNullableを使用していますか?

  20. 20

    好き/愛の関係のためのデータベース設計

  21. 21

    エンティティIDを含む@RequestBody属性をSpringの対応するエンティティに変換します

ホットタグ

アーカイブ