in pytorch_nlp_script_mode_local_model_inference/pytorch_nlp_script_mode_local_model_inference.py [0:0]
def main():
sagemaker_session = LocalSession()
sagemaker_session.config = {'local': {'local_code': True}}
# For local training a dummy role will be sufficient
role = DUMMY_IAM_ROLE
model_dir = 's3://aws-ml-blog/artifacts/pytorch-nlp-script-mode-local-model-inference/model.tar.gz'
test_data = pd.read_csv('./data/test_data.csv', header=None)
print(f'test_data: {test_data}')
model = PyTorchModel(
role=role,
model_data=model_dir,
framework_version='1.7.1',
source_dir='code',
py_version='py3',
entry_point='inference.py'
)
print('Deploying endpoint in local mode')
print(
'Note: if launching for the first time in local mode, container image download might take a few minutes to complete.')
predictor = model.deploy(
initial_instance_count=1,
instance_type='local',
)
predictor.serializer = sagemaker.serializers.CSVSerializer()
predictor.deserializer = sagemaker.deserializers.CSVDeserializer()
predictions = predictor.predict(test_data.to_csv(header=False, index=False))
print(f'predictions: {predictions}')
predictor.delete_endpoint(predictor.endpoint)