毎晩実行したいSageMakerのノートブックを持っています。このタスクをスケジュールするための最良の方法は何ですか。 SageMakerからbashスクリプトを実行してCronジョブをスケジュールする方法はありますか?
Amazon SageMakerは、さまざまな機械学習とデータサイエンスのタスクを支援できるAPIのセットです。これらのAPIは、CLIなどのさまざまなソースから呼び出すことができます [〜#〜] sdk [〜#〜] または特にスケジュールAWS Lambda関数から呼び出すことができます(ドキュメントについてはこちらを参照してください: https: //docs.aws.Amazon.com/lambda/latest/dg/with-scheduled-events.html )
Amazon SageMakerの主要部分は、ノートブックインスタンス、トレーニングとチューニングジョブ、およびリアルタイム予測のためのモデルホスティングです。それぞれに、必要になる可能性のあるさまざまなタイプのスケジュールがあります。最も人気のあるものは次のとおりです。
-----更新(@ snat2100コメントに感謝)-----
Sagemakerでタスクをスケジュールする方法はないと思います。ノートブックは、SageMakerランタイムと対話するためのものです。これは、MLモデルのトレーニングとホスティングに適しています。
私はあなたが毎晩あなたのモデルを再訓練したいと思っていると思います。これを実現するには、モデルを別の場所で再トレーニングしてからS3にアップロードし、外部スクリプトを使用してDockerコンテナーを毎晩再作成する2つの方法があります。または、cronジョブがスケジュールされている独自のDockerコンテナを提供します。それをSageMakerに渡してデプロイします。
AWSコンソールのJupyterページでノートブックターミナルにアクセスできます(右上隅で、[新規]-> [ターミナル]を選択します)。 cronで十分な場合は、そこにあるcrontab
で十分かもしれません。
コンテナで実行できる大きくて高価なジョブがある場合は、AWSBatchも検討してください。そこにあなたは例えばすることができます必要なインスタンスにスポット価格を使用してみてください。バッチジョブは、Cloudwatchイベント(cronトリガーなど)によって開始できます。