質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

0回答

653閲覧

SagemakerとNumpy

yutapatio

総合スコア15

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2020/03/02 23:04

Sagemakerで独自モデルのハイパーパラメーターをチューニングしようとしているのですが、躓いてます。

独自モデルがLSTMのため、NumpyアレイをCSVに変換すると意味がなくなるので、入力にそのままNumpyアレイを使っているのですが、下記のコードでエラーになります。Jupyper Notebookで開発をしています。下記コードで、train_x, train_yがnumpyアレイです。

Python

1inputs = {'train': train_x, 'test': train_t} 2import shortuuid 3uuid = shortuuid.ShortUUID().random(length=8) 4estimator.fit(job_name=f'{PROJECT_NAME}-{VERSION}-s-{uuid}', inputs=inputs)

実行結果が、

ValueError Traceback (most recent call last)
<ipython-input-180-ff3462deb06b> in <module>()
----> 1 estimator.fit(job_name=f'{PROJECT_NAME}-{VERSION}-s-{uuid}', inputs=inputs)

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/sagemaker/tensorflow/estimator.py in fit(self, inputs, wait, logs, job_name, experiment_config, run_tensorboard_locally)
464 tensorboard.join()
465 else:
--> 466 fit_super()
467
468 @classmethod

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/sagemaker/tensorflow/estimator.py in fit_super()
443
444 def fit_super():
--> 445 super(TensorFlow, self).fit(inputs, wait, logs, job_name, experiment_config)
446
447 if run_tensorboard_locally and wait is False:

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/sagemaker/estimator.py in fit(self, inputs, wait, logs, job_name, experiment_config)
460 self._prepare_for_training(job_name=job_name)
461
--> 462 self.latest_training_job = _TrainingJob.start_new(self, inputs, experiment_config)
463 self.jobs.append(self.latest_training_job)
464 if wait:

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/sagemaker/estimator.py in start_new(cls, estimator, inputs, experiment_config)
964 )
965
--> 966 config = _Job._load_config(inputs, estimator)
967
968 if estimator.hyperparameters() is not None:

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/sagemaker/job.py in _load_config(inputs, estimator, expand_role, validate_uri)
77 validate_uri:
78 """
---> 79 input_config = _Job._format_inputs_to_input_config(inputs, validate_uri)
80 role = (
81 estimator.sagemaker_session.expand_role(estimator.role)

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/sagemaker/job.py in _format_inputs_to_input_config(inputs, validate_uri)
151 elif isinstance(inputs, dict):
152 for k, v in inputs.items():
--> 153 input_dict[k] = _Job._format_string_uri_input(v, validate_uri)
154 elif isinstance(inputs, list):
155 input_dict = _Job._format_record_set_list_input(inputs)

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/sagemaker/job.py in _format_string_uri_input(uri_input, validate_uri, content_type, input_mode, compression, target_attribute_name)
225 raise ValueError(
226 "Cannot format input {}. Expecting one of str, s3_input, file_input or "
--> 227 "FileSystemInput".format(uri_input)
228 )
229

ValueError: Cannot format input [[[0. 0.00584795 0.00194932 ... 0.00194932 0.00194932 0.00194932]
[0. 0.00584795 0.00194932 ... 0.00194932 0.00194932 0.00194932]
(中略)
[0. 0.00584795 0.00194932 ... 0.00194932 0.00194932 0.00194932]
[0. 0.00584795 0.00194932 ... 0.00194932 0.00194932 0.00194932]]]. Expecting one of str, s3_input, file_input or FileSystemInput

という感じになります。エラーメッセージの最後の行で"Expecting one of str, s3_input, file_input or FileSystemInput"とありますが、ここは指定しているように思うのですが…

お聞きしたいのが、
①そもそもSagemakerはnumpyアレイをそのままinputにするとハイパーパラメーターチューニングができない?
②もしできるとすればinputの指定方法が誤っている?

という点です。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問