Я пытаюсь использовать процессор sagemaker для замены некоторых процессов, которые мы выполняем в пакетном режиме Amazon.
from sagemaker.processor import ScriptProcessor
proc = ScriptProcessor(
image_uri='your-image-uri',
command=['python3'],
role=role,
instance_count=1,
instance_type='m4.4x.large',
volume_size_in_gb=500,
# volume_kms_key=None,
# output_kms_key=None,
max_runtime_in_seconds=None,
base_job_name='preprocessing-test',
# sagemaker_session=None,
# env=None,
# tags=None,
# network_config=None
)
proc.run(
code='test.py',
)
Прежде всего, правда ли, что синтаксис ScriptProcessing
сложнее, чем версия TrainingJob
, где вы можете указать source_dir
и entrypoint
для загрузки вашего кода по умолчанию контейнер?
Во-вторых, этот код выше дает мне эту ошибку ParamValidationError: Parameter validation failed:
Invalid bucket name "sagemaker-eu-west-1-<account-id>\preprocessing-test-<timestamp>\input\code": Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$" or be an ARN matching the regex "^arn:(aws).*:s3:[a-z\-0-9]+:[0-9]{12}:accesspoint[/:][a-zA-Z0-9\-]{1,63}$"
. Я думаю, этот ключ создается внутри при попытке загрузить мой test.py
, но почему он не работает? :) В документации сказано, что вы можете использовать как локальные, так и s3 пути.