ひぐぺん工房トップへ おかげさまで24周年!

ひぐぺん工房(松浦健一郎・司ゆき) - HigPen Works
・今までの仕事 ・書籍 ・最近の業務 ・対応可能言語 ・お見積

『AWSでつくる AIプログラミング入門』
Q&A

以下の回答で問題が解決しなかった場合には、 以下の回答で問題が解決しなかった場合には、 こちらから ご連絡ください。

訂正


2020/04/24
Q.AWS CLIの動作確認(Chapter1, p.35)
A.
動作確認のコマンドにおいて、「--target-language」と「code」の間の「-」が抜けていました。誠に申し訳ありません。下記が正しいコマンドです。

aws translate translate-text --source-language-code en --target-language-code ja --text hello

補足


2020/02/17
Q.データセットなどが削除できない(Chapter8, 9)
A.
Personalize(Chapter8)やForecast(Chapter9)において、データセットなどが削除できなくなることがあります。例えば、開始したデータ取り込みジョブが何らかの原因で進まなくなってしまい、ジョブが使用しているデータセットを削除することができず、ジョブを終わることもできないという状況に陥ることが、本書の執筆中にも一度ありました。例えば以下のようなエラーメッセージが見られる場合は、このような状況になっている可能性があります。

Bad request … ResourceInUseException : Operation not allowed when the resource arn:aws:…:dataset/MyDataset is being referenced by these resources : [ arn:aws:…:dataset-import-job/MyDataset/MyDatasetImport ]
(データ取り込みジョブがデータセットを参照中なので、指定された操作をすることができない。)

このような場合は、以下をお試しください。
  1. 本書のプログラムを使用してリソースを削除する。
    Personalizeの場合は8.9(p.343)、Forecastの場合は9.8(p.384)に掲載している、リソースを削除するための一連のプログラムを実行してみてください。これで削除に成功した場合には、再度データの登録から作業してみてください(Personalizeは8.3から、Forecastは9.3から)。
  2. アカウントを削除する。
    上記のプログラムやAWSのコンソールを使って、リソースを削除しようと何度も試みても、削除できない場合があります。本書の執筆中にもこの状況に陥りました。ある程度の時間が経過すれば、データ取り込みジョブがタイムアウト(時間切れ)になって終了するかと思ったのですが、執筆時点では終了しないようでした。そこでやむなくAWSのアカウントを削除し、新しくアカウントを作成し直しました。アカウントを削除すれば、継続して課金されるということはありません。また、新しいメールアドレスで新しくアカウントを作成した場合には、新たに無償期間が付与されます。
  3. AWSのサポートに依頼する。
    もしアカウントを本書以外の目的にも使用しており、どうしても削除するのが難しい場合には、AWSのサポートにデータセットを削除してもらえるように依頼する、という方法も考えられます(筆者は試していません)。
PersonalizeやForecastは比較的最近導入された機能のためか、他の機能に比べてやや未成熟に感じる部分があります。復帰不可能な問題が生じたときにはアカウントを削除できるよう、本書用に新規のアカウントを作成していただくのがおすすめです。

2020/04/24
Q.データの登録で「Dataset Type:TARGET_TIME_SERIES is missing…」というエラーが出る(Chapter9, p.361)
A.
エラーメッセージは「Dataset type: TARGET_TIME_SERIES is missing the required field: item」(データセットタイプ:TARGET_TIME_SERIESに必要なフィールドitemがない)です。fore_create_dataset.pyの以下の部分において、「item_id」に大文字を混ぜると(「item_ID」「ITEM_id」「ITEM_ID」など)、このエラーが発生します。「item_id」に修正すれば、エラーは解消します。

schema_json = {
  "Attributes": [
    …
    {
      "AttributeName": "item_id",
      "AttributeType": "string"
    }
  ]
}

本書のプログラムを手作業で入力した場合、微妙な記述の違いで動作しないことがあります。もし動作しない場合には、以下の手順をお試しください。
  1. 手作業で入力するのではなく、本書のダウンロードファイルを利用し、そのまま変更せずに実行してみてください。
  2. ダウンロードファイルが動作する場合には、手作業で入力したファイルと比較してみてください。目で比較すると違いを見落としやすいので、ツールを使って比較するのがおすすめです。Windowsでは「WinMerge」などのツール、macOSやLinuxでは「diff」などのツールが使えます。テキストエディタがファイルの比較機能を持っている場合もあります。

2020/04/28
Q.データの登録で「A dataset already exists with the arn…」というエラーが出る(Chapter9, p.361)
A.
エラーメッセージは「An error occurred (ResourceAlreadyExistsException) when calling the CreateDataset operation: A dataset already exists with the arn…」(CreateDatasetにおいてエラーResourceAlreadyExistsExceptionが発生:次のようなARNのデータセットは既に存在している)です。fore_create_dataset.pyを重複して実行した場合などに発生します。

解決するには、本書p.361~p.362に記載されているように、fore_delete_dataset.pyを実行してから、もう一度fore_create_dataset.pyを実行してください。

それでも解決しない場合には、9.8(p.384)に掲載している、リソースを削除するための一連のプログラムを実行してみてください。これで削除に成功した場合には、再度fore_create_dataset.pyを実行してみてください。

さらにそれでも解決しない場合には、このQ&Aの「データセットなどが削除できない(Chapter8, 9)」をお試しください。

最終更新 2020/04/28
トップページへ
©ひぐぺん工房 禁無断転載
動画講座「 AIへまっしぐら! Pythonアニマルズ 」 最新刊『 AWSでつくる AIプログラミング入門 』
このサイトはリンクフリーです。 このサイトはChromeで動作検証しています。ブラウザにかかわらず表示に乱れがありましたらどうぞお知らせ下さい。メールを送る