簡體   English   中英

加載Sagemaker Java SDK的非S3數據源

[英]Loading non-s3 data source for Sagemaker Java SDK

我正在設置一個lambda函數,該函數使用Random Cut Forest算法執行SageMaker推理。 我在jupyter筆記本中成功運行了python RCF示例,但是我更喜歡用Java編寫我的lambda,並且希望在此過程中不使用s3存儲桶。 我知道,如果我的lambda是在python中的,那么我將能夠傳遞我的數據,將其轉換為pandas數據rcf_inference.predict(data) ,然后運行rcf_inference.predict(data)獲得我的結果。 但是對於Java,這似乎是不可能的。

我可以使用以下Java代碼進行批量轉換作業,但是在檢查了java aws-sdk文檔之后,看來我的TransformDataSource 必須具有S3DataSource,而沒有任何其他類型的源。 不幸的是,因為我的lambda已經在內存中存儲了我需要的數據,所以沒有必要向s3存儲桶進行上傳/下載。

        String bucket = "test-bucket441";
        String prefix = "sagemaker/rcf-benchmarks";
        String trainedModel = "randomcutforest-2019-06-28-13-43-00-925";

        AmazonSageMaker sm = AmazonSageMakerClientBuilder.standard().build();

        TransformS3DataSource s3Source = new TransformS3DataSource()
                .withS3DataType("S3Prefix")
                .withS3Uri("s3://" + bucket + "/" + prefix);

        TransformDataSource dataSource = new TransformDataSource()
                .withS3DataSource(s3Source);

        TransformInput input = new TransformInput()
                .withContentType("text/csv")
                .withDataSource(dataSource);

        TransformOutput output = new TransformOutput()
                .withS3OutputPath("s3://" + bucket + "/" + prefix + "/output")
                .withAssembleWith("Line");

        TransformResources resources = new TransformResources()
                .withInstanceType("ml.m4.xlarge")
                .withInstanceCount(1);

        CreateTransformJobRequest jobRequest = new CreateTransformJobRequest()
                .withTransformJobName("test-job")
                .withModelName(trainedModel)
                .withTransformInput(input)
                .withTransformOutput(output)
                .withTransformResources(resources);


        sm.createTransformJob(jobRequest);

有誰知道我不使用s3存儲桶就可以創建CreateTranformJobRequest的任何方法嗎?

您的Python代碼使用SageMaker HTTPS終端節點進行實時預測:盡管SageMaker SDK僅是Python,但您可以使用(較低級別的)AWS SDK for Java絕對做同樣的事情。

假設您已經在SageMaker中訓練了模型,您將:

  • 創建端點配置,
  • 創建一個端點,
  • 調用端點。

相應的API的詳細信息如下:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM