

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Tindakan saluran pipa
<a name="pipelines-build"></a>

Anda dapat menggunakan Amazon SageMaker Pipelines Python SDK atau drag-and-drop desainer visual di SageMaker Amazon Studio untuk membuat, melihat, mengedit, mengeksekusi, dan memantau alur kerja ML Anda.

Tangkapan layar berikut menunjukkan desainer visual yang dapat Anda gunakan untuk membuat dan mengelola SageMaker Pipelines Amazon Anda.

![\[Tangkapan layar drag-and-drop antarmuka visual untuk Pipelines di Studio.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/pipelines/pipelines-studio-overview.png)


Setelah pipeline diterapkan, Anda dapat melihat grafik asiklik terarah (DAG) untuk pipeline dan mengelola eksekusi menggunakan Amazon Studio. SageMaker Menggunakan SageMaker Studio, Anda bisa mendapatkan informasi tentang pipeline Anda saat ini dan historis, membandingkan eksekusi, melihat DAG untuk eksekusi Anda, mendapatkan informasi metadata, dan banyak lagi. Untuk mempelajari cara melihat pipeline dari Studio, lihat[Lihat detail pipa](pipelines-studio-list.md). 

**Topics**
+ [Tentukan pipa](define-pipeline.md)
+ [Mengedit pipa](edit-pipeline-before-execution.md)
+ [Jalankan pipa](run-pipeline.md)
+ [Hentikan pipa](pipelines-studio-stop.md)
+ [Lihat detail pipa](pipelines-studio-list.md)
+ [Lihat detail proses pipeline](pipelines-studio-view-execution.md)
+ [Unduh file definisi pipeline](pipelines-studio-download.md)
+ [Akses data eksperimen dari pipeline](pipelines-studio-experiments.md)
+ [Lacak garis keturunan pipa](pipelines-lineage-tracking.md)

# Tentukan pipa
<a name="define-pipeline"></a>

Untuk mengatur alur kerja Anda dengan SageMaker Amazon Pipelines, Anda harus membuat grafik asiklik terarah (DAG) dalam bentuk definisi pipeline JSON. DAG menentukan berbagai langkah yang terlibat dalam proses ML Anda, seperti prapemrosesan data, pelatihan model, evaluasi model, dan penerapan model, serta dependensi dan aliran data di antara langkah-langkah ini. Topik berikut menunjukkan cara menghasilkan definisi pipeline.

Anda dapat membuat definisi pipeline JSON menggunakan SageMaker Python SDK atau fitur drag-and-drop visual Pipeline Designer di Amazon Studio. SageMaker Gambar berikut adalah representasi dari pipeline DAG yang Anda buat dalam tutorial ini:

![\[Tangkapan layar drag-and-drop antarmuka visual untuk Pipelines di Studio.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/pipelines/pipelines-studio-overview.png)


Pipa yang Anda tentukan di bagian berikut memecahkan masalah regresi untuk menentukan usia abalon berdasarkan pengukuran fisiknya. Untuk buku catatan Jupyter yang dapat dijalankan yang menyertakan konten dalam tutorial ini, lihat [Mengatur Pekerjaan dengan Pipa Bangunan Model Amazon](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-pipelines/tabular/abalone_build_train_deploy/sagemaker-pipelines-preprocess-train-evaluate-batch-transform.html). SageMaker 

**catatan**  
Anda dapat mereferensikan lokasi model sebagai properti dari langkah pelatihan, seperti yang ditunjukkan pada end-to-end contoh [CustomerChurn pipeline](https://github.com/aws-samples/customer-churn-sagemaker-pipelines-sample/blob/main/pipelines/customerchurn/pipeline.py) di Github.

**Topics**

## Tentukan pipa (Pipeline Designer)
<a name="create-pipeline-designer"></a>

Panduan berikut memandu Anda melalui langkah-langkah untuk membuat pipeline barebone menggunakan Pipeline Designer. drag-and-drop Jika Anda perlu menjeda atau mengakhiri sesi pengeditan Pipeline Anda di desainer visual kapan saja, klik opsi **Ekspor**. Ini memungkinkan Anda mengunduh definisi Pipeline saat ini ke lingkungan lokal Anda. Kemudian, ketika Anda ingin melanjutkan proses pengeditan Pipeline, Anda dapat mengimpor file definisi JSON yang sama ke desainer visual.

### Buat langkah Pemrosesan
<a name="create-processing-step"></a>

Untuk membuat langkah pekerjaan pemrosesan data, lakukan hal berikut:

1. Buka konsol Studio dengan mengikuti petunjuk di[Luncurkan Amazon SageMaker Studio](studio-updated-launch.md).

1. Di panel navigasi kiri, pilih **Pipelines**.

1. Pilih **Buat**.

1. Pilih **Kosong**.

1. Di bilah sisi kiri, pilih **Proses data** dan seret ke kanvas.

1. Di kanvas, pilih langkah **Proses data** yang Anda tambahkan.

1. Untuk menambahkan kumpulan data input, pilih **Tambah** di bawah **Data (input)** di bilah sisi kanan dan pilih kumpulan data.

1. Untuk menambahkan lokasi untuk menyimpan kumpulan data keluaran, pilih **Tambah** di bawah **Data (output)** di bilah sisi kanan dan arahkan ke tujuan.

1. Lengkapi bidang yang tersisa di sidebar kanan. Untuk informasi tentang bidang di tab ini, lihat [sagemaker.workflow.steps. ProcessingStep](https://sagemaker.readthedocs.io/en/stable/workflows/pipelines/sagemaker.workflow.pipelines.html#sagemaker.workflow.steps.ProcessingStep).

### Buat langkah Pelatihan
<a name="create-training-step"></a>

Untuk mengatur langkah pelatihan model, lakukan hal berikut:

1. Di sidebar kiri, pilih **Train model** dan seret ke kanvas.

1. Di kanvas, pilih langkah **model Kereta** yang Anda tambahkan.

1. Untuk menambahkan kumpulan data input, pilih **Tambah** di bawah **Data (input)** di bilah sisi kanan dan pilih kumpulan data.

1. Untuk memilih lokasi untuk menyimpan artefak model Anda, masukkan URI Amazon S3 di bidang **Lokasi (URI S3**), atau **pilih Jelajahi** S3 untuk menavigasi ke lokasi tujuan.

1. Lengkapi bidang yang tersisa di sidebar kanan. Untuk informasi tentang bidang di tab ini, lihat [sagemaker.workflow.steps. TrainingStep](https://sagemaker.readthedocs.io/en/stable/workflows/pipelines/sagemaker.workflow.pipelines.html#sagemaker.workflow.steps.TrainingStep).

1. Klik dan seret kursor dari langkah **Proses data** yang Anda tambahkan di bagian sebelumnya ke langkah **Model kereta** untuk membuat tepi yang menghubungkan dua langkah.

### Buat paket model dengan langkah model Register
<a name="create-register-model-step"></a>

Untuk membuat paket model dengan langkah pendaftaran model, lakukan hal berikut:

1. Di bilah sisi kiri, pilih **Daftar model** dan seret ke kanvas.

1. Di kanvas, pilih langkah **model Daftar** yang Anda tambahkan.

1. Untuk memilih model yang akan didaftarkan, pilih **Tambah** di bawah **Model (input)**.

1. Pilih **Buat grup model** untuk menambahkan model Anda ke grup model baru.

1. Lengkapi bidang yang tersisa di sidebar kanan. Untuk informasi tentang bidang di tab ini, lihat [sagemaker.workflow.step\$1collections. RegisterModel](https://sagemaker.readthedocs.io/en/stable/workflows/pipelines/sagemaker.workflow.pipelines.html#sagemaker.workflow.step_collections.RegisterModel).

1. Klik dan seret kursor dari langkah **model Kereta** yang Anda tambahkan di bagian sebelumnya ke langkah **model Daftar** untuk membuat tepi yang menghubungkan dua langkah.

### Terapkan model ke titik akhir dengan langkah model Deploy (titik akhir)
<a name="create-deploy-endpoint-step"></a>

Untuk menerapkan model Anda menggunakan langkah penerapan model, lakukan hal berikut:

1. Di sidebar kiri, pilih **Deploy model (endpoint)** dan seret ke kanvas.

1. Di kanvas, pilih langkah **Deploy model (endpoint)** yang Anda tambahkan.

1. Untuk memilih model yang akan digunakan, pilih **Tambah** di bawah **Model (input)**.

1. Pilih tombol **Create endpoint** radio untuk membuat endpoint baru.

1. Masukkan **Nama** dan **Deskripsi** untuk titik akhir Anda.

1. Klik dan seret kursor dari langkah **model Register** yang Anda tambahkan di bagian sebelumnya ke langkah **Deploy model (endpoint)** untuk membuat tepi yang menghubungkan dua langkah.

1. Lengkapi bidang yang tersisa di sidebar kanan.

### Tentukan parameter Pipeline
<a name="define-pipeline-parameters"></a>

Anda dapat mengonfigurasi satu set parameter Pipeline yang nilainya dapat diperbarui untuk setiap eksekusi. Untuk menentukan parameter pipa dan mengatur nilai default, klik ikon roda gigi di bagian bawah desainer visual.

### Simpan Pipeline
<a name="save-pipeline"></a>

Setelah Anda memasukkan semua informasi yang diperlukan untuk membuat pipeline Anda, klik **Simpan** di bagian bawah desainer visual. Ini memvalidasi pipeline Anda untuk setiap potensi kesalahan saat runtime dan memberi tahu Anda. Operasi **Simpan** tidak akan berhasil sampai Anda mengatasi semua kesalahan yang ditandai oleh pemeriksaan validasi otomatis. Jika Anda ingin melanjutkan pengeditan di lain waktu, Anda dapat menyimpan pipeline yang sedang berlangsung sebagai definisi JSON di lingkungan lokal Anda. Anda dapat mengekspor Pipeline Anda sebagai file definisi JSON dengan mengklik tombol **Ekspor** di bagian bawah desainer visual. Kemudian, untuk melanjutkan memperbarui Pipeline Anda, unggah file definisi JSON itu dengan mengklik tombol **Impor**.

## Tentukan pipeline (SageMaker Python SDK)
<a name="create-pipeline-wrap"></a>

### Prasyarat
<a name="define-pipeline-prereq"></a>

 Untuk menjalankan tutorial berikut, lengkapi yang berikut ini: 
+ Siapkan instance notebook Anda seperti yang diuraikan dalam [Buat instance notebook](https://docs.aws.amazon.com/sagemaker/latest/dg/howitworks-create-ws.html). Ini memberi izin peran Anda untuk membaca dan menulis ke Amazon S3, dan membuat pelatihan, transformasi batch, dan pekerjaan SageMaker pemrosesan di AI. 
+ Berikan izin buku catatan Anda untuk mendapatkan dan meneruskan perannya sendiri seperti yang ditunjukkan dalam [Memodifikasi kebijakan izin peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policy). Tambahkan cuplikan JSON berikut untuk melampirkan kebijakan ini ke peran Anda. Ganti `<your-role-arn>` dengan ARN yang digunakan untuk membuat instance notebook Anda. 

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "iam:GetRole",
                  "iam:PassRole"
              ],
              "Resource": "arn:aws:iam::111122223333:role/role-name"
          }
      ]
  }
  ```

------
+  Percayai prinsip layanan SageMaker AI dengan mengikuti langkah-langkah dalam [Memodifikasi kebijakan kepercayaan peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-cli.html#roles-managingrole_edit-trust-policy-cli). Tambahkan fragmen pernyataan berikut ke hubungan kepercayaan peran Anda: 

  ```
  {
        "Sid": "",
        "Effect": "Allow",
        "Principal": {
          "Service": "sagemaker.amazonaws.com"
        },
        "Action": "sts:AssumeRole"
      }
  ```

#### Siapkan lingkungan Anda
<a name="define-pipeline-prereq-setup"></a>

Buat sesi SageMaker AI baru menggunakan blok kode berikut. Ini mengembalikan peran ARN untuk sesi tersebut. Peran ARN ini harus menjadi peran eksekusi ARN yang Anda tetapkan sebagai prasyarat. 

```
import boto3
import sagemaker
import sagemaker.session
from sagemaker.workflow.pipeline_context import PipelineSession

region = boto3.Session().region_name
sagemaker_session = sagemaker.session.Session()
role = sagemaker.get_execution_role()
default_bucket = sagemaker_session.default_bucket()

pipeline_session = PipelineSession()

model_package_group_name = f"AbaloneModelPackageGroupName"
```

### Membuat jalur
<a name="define-pipeline-create"></a>

**penting**  
Kebijakan IAM khusus yang memungkinkan Amazon SageMaker Studio atau Amazon SageMaker Studio Classic membuat SageMaker sumber daya Amazon juga harus memberikan izin untuk menambahkan tag ke sumber daya tersebut. Izin untuk menambahkan tag ke sumber daya diperlukan karena Studio dan Studio Classic secara otomatis menandai sumber daya apa pun yang mereka buat. Jika kebijakan IAM memungkinkan Studio dan Studio Classic membuat sumber daya tetapi tidak mengizinkan penandaan, kesalahan "AccessDenied" dapat terjadi saat mencoba membuat sumber daya. Untuk informasi selengkapnya, lihat [Berikan izin untuk menandai sumber daya AI SageMaker](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS kebijakan terkelola untuk Amazon SageMaker AI](security-iam-awsmanpol.md)yang memberikan izin untuk membuat SageMaker sumber daya sudah menyertakan izin untuk menambahkan tag saat membuat sumber daya tersebut.

Jalankan langkah-langkah berikut dari instance notebook SageMaker AI Anda untuk membuat pipeline yang menyertakan langkah-langkah untuk:
+ prapemrosesan
+ pelatihan
+ evaluasi
+ evaluasi bersyarat
+ pendaftaran model

**catatan**  
Anda dapat menggunakan [ExecutionVariables](https://sagemaker.readthedocs.io/en/stable/workflows/pipelines/sagemaker.workflow.pipelines.html#execution-variables)dan fungsi [Gabung](https://sagemaker.readthedocs.io/en/stable/workflows/pipelines/sagemaker.workflow.pipelines.html#execution-variables) untuk menentukan lokasi output Anda. `ExecutionVariables`diselesaikan saat runtime. Misalnya, `ExecutionVariables.PIPELINE_EXECUTION_ID` diselesaikan ke ID eksekusi saat ini, yang dapat digunakan sebagai pengidentifikasi unik di berbagai proses.

#### Langkah 1: Unduh dataset
<a name="define-pipeline-data-download"></a>

Notebook ini menggunakan Dataset Abalone Machine Learning UCI. Dataset berisi fitur-fitur berikut: 
+ `length`— Pengukuran cangkang terpanjang dari abalon.
+ `diameter`— Diameter abalon tegak lurus dengan panjangnya.
+ `height`— Ketinggian abalon dengan daging di cangkang.
+ `whole_weight`— Berat seluruh abalon.
+ `shucked_weight`— Berat daging dikeluarkan dari abalon.
+ `viscera_weight`— Berat visera abalon setelah pendarahan.
+ `shell_weight`— Berat cangkang abalon setelah pengangkatan dan pengeringan daging.
+ `sex`- Jenis kelamin abalon. Salah satu dari 'M', 'F', atau 'I', di mana 'I' adalah abalon bayi.
+ `rings`— Jumlah cincin di cangkang abalon.

Jumlah cincin dalam cangkang abalon adalah perkiraan yang baik untuk usianya menggunakan rumus. `age=rings + 1.5` Namun, mendapatkan nomor ini adalah tugas yang memakan waktu. Anda harus memotong cangkang melalui kerucut, menodai bagian, dan menghitung jumlah cincin melalui mikroskop. Namun, pengukuran fisik lainnya lebih mudah didapat. Notebook ini menggunakan dataset untuk membangun model prediktif dari cincin variabel menggunakan pengukuran fisik lainnya.

**Untuk mengunduh dataset**

1. Unduh kumpulan data ke bucket Amazon S3 default akun Anda.

   ```
   !mkdir -p data
   local_path = "data/abalone-dataset.csv"
   
   s3 = boto3.resource("s3")
   s3.Bucket(f"sagemaker-servicecatalog-seedcode-{region}").download_file(
       "dataset/abalone-dataset.csv",
       local_path
   )
   
   base_uri = f"s3://{default_bucket}/abalone"
   input_data_uri = sagemaker.s3.S3Uploader.upload(
       local_path=local_path, 
       desired_s3_uri=base_uri,
   )
   print(input_data_uri)
   ```

1. Unduh kumpulan data kedua untuk transformasi batch setelah model Anda dibuat.

   ```
   local_path = "data/abalone-dataset-batch.csv"
   
   s3 = boto3.resource("s3")
   s3.Bucket(f"sagemaker-servicecatalog-seedcode-{region}").download_file(
       "dataset/abalone-dataset-batch",
       local_path
   )
   
   base_uri = f"s3://{default_bucket}/abalone"
   batch_data_uri = sagemaker.s3.S3Uploader.upload(
       local_path=local_path, 
       desired_s3_uri=base_uri,
   )
   print(batch_data_uri)
   ```

#### Langkah 2: Tentukan parameter pipa
<a name="define-pipeline-parameters"></a>

 Blok kode ini mendefinisikan parameter berikut untuk pipeline Anda: 
+  `processing_instance_count`— Jumlah instance dari pekerjaan pemrosesan. 
+  `input_data`— Lokasi Amazon S3 dari data input. 
+  `batch_data`— Lokasi Amazon S3 dari data input untuk transformasi batch. 
+  `model_approval_status`— Status persetujuan untuk mendaftarkan model terlatih untuk CI/CD. Untuk informasi selengkapnya, lihat [MLOps Otomatisasi Dengan SageMaker Proyek](sagemaker-projects.md).

```
from sagemaker.workflow.parameters import (
    ParameterInteger,
    ParameterString,
)

processing_instance_count = ParameterInteger(
    name="ProcessingInstanceCount",
    default_value=1
)
model_approval_status = ParameterString(
    name="ModelApprovalStatus",
    default_value="PendingManualApproval"
)
input_data = ParameterString(
    name="InputData",
    default_value=input_data_uri,
)
batch_data = ParameterString(
    name="BatchData",
    default_value=batch_data_uri,
)
```

#### Langkah 3: Tentukan langkah pemrosesan untuk rekayasa fitur
<a name="define-pipeline-processing-feature"></a>

Bagian ini menunjukkan cara membuat langkah pemrosesan untuk menyiapkan data dari kumpulan data untuk pelatihan.

**Untuk membuat langkah pemrosesan**

1.  Buat direktori untuk skrip pemrosesan.

   ```
   !mkdir -p abalone
   ```

1. Buat file di `/abalone` direktori bernama `preprocessing.py` dengan konten berikut. Skrip preprocessing ini diteruskan ke langkah pemrosesan untuk berjalan pada data input. Langkah pelatihan kemudian menggunakan fitur dan label pelatihan yang telah diproses sebelumnya untuk melatih model. Langkah evaluasi menggunakan model terlatih dan fitur dan label uji yang telah diproses sebelumnya untuk mengevaluasi model. Skrip digunakan `scikit-learn` untuk melakukan hal berikut:
   +  Isi data `sex` kategoris yang hilang dan kodekan sehingga cocok untuk pelatihan. 
   +  Skala dan normalkan semua bidang numerik kecuali untuk `rings` dan`sex`. 
   +  Pisahkan data menjadi kumpulan data pelatihan, pengujian, dan validasi. 

   ```
   %%writefile abalone/preprocessing.py
   import argparse
   import os
   import requests
   import tempfile
   import numpy as np
   import pandas as pd
   
   
   from sklearn.compose import ColumnTransformer
   from sklearn.impute import SimpleImputer
   from sklearn.pipeline import Pipeline
   from sklearn.preprocessing import StandardScaler, OneHotEncoder
   
   
   # Because this is a headerless CSV file, specify the column names here.
   feature_columns_names = [
       "sex",
       "length",
       "diameter",
       "height",
       "whole_weight",
       "shucked_weight",
       "viscera_weight",
       "shell_weight",
   ]
   label_column = "rings"
   
   feature_columns_dtype = {
       "sex": str,
       "length": np.float64,
       "diameter": np.float64,
       "height": np.float64,
       "whole_weight": np.float64,
       "shucked_weight": np.float64,
       "viscera_weight": np.float64,
       "shell_weight": np.float64
   }
   label_column_dtype = {"rings": np.float64}
   
   
   def merge_two_dicts(x, y):
       z = x.copy()
       z.update(y)
       return z
   
   
   if __name__ == "__main__":
       base_dir = "/opt/ml/processing"
   
       df = pd.read_csv(
           f"{base_dir}/input/abalone-dataset.csv",
           header=None, 
           names=feature_columns_names + [label_column],
           dtype=merge_two_dicts(feature_columns_dtype, label_column_dtype)
       )
       numeric_features = list(feature_columns_names)
       numeric_features.remove("sex")
       numeric_transformer = Pipeline(
           steps=[
               ("imputer", SimpleImputer(strategy="median")),
               ("scaler", StandardScaler())
           ]
       )
   
       categorical_features = ["sex"]
       categorical_transformer = Pipeline(
           steps=[
               ("imputer", SimpleImputer(strategy="constant", fill_value="missing")),
               ("onehot", OneHotEncoder(handle_unknown="ignore"))
           ]
       )
   
       preprocess = ColumnTransformer(
           transformers=[
               ("num", numeric_transformer, numeric_features),
               ("cat", categorical_transformer, categorical_features)
           ]
       )
       
       y = df.pop("rings")
       X_pre = preprocess.fit_transform(df)
       y_pre = y.to_numpy().reshape(len(y), 1)
       
       X = np.concatenate((y_pre, X_pre), axis=1)
       
       np.random.shuffle(X)
       train, validation, test = np.split(X, [int(.7*len(X)), int(.85*len(X))])
   
       
       pd.DataFrame(train).to_csv(f"{base_dir}/train/train.csv", header=False, index=False)
       pd.DataFrame(validation).to_csv(f"{base_dir}/validation/validation.csv", header=False, index=False)
       pd.DataFrame(test).to_csv(f"{base_dir}/test/test.csv", header=False, index=False)
   ```

1.  Buat instance `SKLearnProcessor` untuk diteruskan ke langkah pemrosesan. 

   ```
   from sagemaker.sklearn.processing import SKLearnProcessor
   
   
   framework_version = "0.23-1"
   
   sklearn_processor = SKLearnProcessor(
       framework_version=framework_version,
       instance_type="ml.m5.xlarge",
       instance_count=processing_instance_count,
       base_job_name="sklearn-abalone-process",
       sagemaker_session=pipeline_session,
       role=role,
   )
   ```

1. Buat langkah pemrosesan. Langkah ini mengambil`SKLearnProcessor`, saluran input dan output, dan `preprocessing.py` skrip yang Anda buat. Ini sangat mirip dengan `run` metode instance prosesor di SageMaker AI Python SDK. `input_data`Parameter yang diteruskan `ProcessingStep` adalah data input dari langkah itu sendiri. Data input ini digunakan oleh instance prosesor saat berjalan. 

    Perhatikan`"train`,`"validation`, dan saluran `"test"` bernama yang ditentukan dalam konfigurasi output untuk pekerjaan pemrosesan. Langkah `Properties` seperti ini dapat digunakan dalam langkah-langkah berikutnya dan menyelesaikan nilai runtime mereka saat runtime. 

   ```
   from sagemaker.processing import ProcessingInput, ProcessingOutput
   from sagemaker.workflow.steps import ProcessingStep
      
   
   processor_args = sklearn_processor.run(
       inputs=[
         ProcessingInput(source=input_data, destination="/opt/ml/processing/input"),  
       ],
       outputs=[
           ProcessingOutput(output_name="train", source="/opt/ml/processing/train"),
           ProcessingOutput(output_name="validation", source="/opt/ml/processing/validation"),
           ProcessingOutput(output_name="test", source="/opt/ml/processing/test")
       ],
       code="abalone/preprocessing.py",
   ) 
   
   step_process = ProcessingStep(
       name="AbaloneProcess",
       step_args=processor_args
   )
   ```

#### Langkah 4: Tentukan langkah pelatihan
<a name="define-pipeline-training"></a>

Bagian ini menunjukkan cara menggunakan [XGBoostAlgoritma SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) AI untuk melatih model pada output data pelatihan dari langkah-langkah pemrosesan. 

**Untuk menentukan langkah pelatihan**

1.  Tentukan jalur model tempat Anda ingin menyimpan model dari pelatihan. 

   ```
   model_path = f"s3://{default_bucket}/AbaloneTrain"
   ```

1. Konfigurasikan estimator untuk XGBoost algoritme dan kumpulan data input. Jenis instance pelatihan diteruskan ke estimator. Skrip pelatihan yang khas:
   + memuat data dari saluran input
   + mengonfigurasi pelatihan dengan hyperparameters
   + melatih model
   + menyimpan model `model_dir` agar dapat di-host nanti

   SageMaker AI mengunggah model ke Amazon S3 dalam bentuk `model.tar.gz` a di akhir pekerjaan pelatihan.

   ```
   from sagemaker.estimator import Estimator
   
   
   image_uri = sagemaker.image_uris.retrieve(
       framework="xgboost",
       region=region,
       version="1.0-1",
       py_version="py3",
       instance_type="ml.m5.xlarge"
   )
   xgb_train = Estimator(
       image_uri=image_uri,
       instance_type="ml.m5.xlarge",
       instance_count=1,
       output_path=model_path,
       sagemaker_session=pipeline_session,
       role=role,
   )
   xgb_train.set_hyperparameters(
       objective="reg:linear",
       num_round=50,
       max_depth=5,
       eta=0.2,
       gamma=4,
       min_child_weight=6,
       subsample=0.7,
       silent=0
   )
   ```

1. Buat `TrainingStep` menggunakan instance estimator dan properti dari. `ProcessingStep` Lewati `S3Uri` saluran `"train"` dan `"validation"` output ke`TrainingStep`.  

   ```
   from sagemaker.inputs import TrainingInput
   from sagemaker.workflow.steps import TrainingStep
   
   
   train_args = xgb_train.fit(
       inputs={
           "train": TrainingInput(
               s3_data=step_process.properties.ProcessingOutputConfig.Outputs[
                   "train"
               ].S3Output.S3Uri,
               content_type="text/csv"
           ),
           "validation": TrainingInput(
               s3_data=step_process.properties.ProcessingOutputConfig.Outputs[
                   "validation"
               ].S3Output.S3Uri,
               content_type="text/csv"
           )
       },
   )
   
   step_train = TrainingStep(
       name="AbaloneTrain",
       step_args = train_args
   )
   ```

#### Langkah 5: Tentukan langkah pemrosesan untuk evaluasi model
<a name="define-pipeline-processing-model"></a>

Bagian ini menunjukkan cara membuat langkah pemrosesan untuk mengevaluasi keakuratan model. Hasil evaluasi model ini digunakan dalam langkah kondisi untuk menentukan jalur lari mana yang akan diambil.

**Untuk menentukan langkah pemrosesan untuk evaluasi model**

1. Buat file di `/abalone` direktori bernama`evaluation.py`. Skrip ini digunakan dalam langkah pemrosesan untuk melakukan evaluasi model. Dibutuhkan model terlatih dan kumpulan data pengujian sebagai input, kemudian menghasilkan file JSON yang berisi metrik evaluasi klasifikasi.

   ```
   %%writefile abalone/evaluation.py
   import json
   import pathlib
   import pickle
   import tarfile
   import joblib
   import numpy as np
   import pandas as pd
   import xgboost
   
   
   from sklearn.metrics import mean_squared_error
   
   
   if __name__ == "__main__":
       model_path = f"/opt/ml/processing/model/model.tar.gz"
       with tarfile.open(model_path) as tar:
           tar.extractall(path=".")
       
       model = pickle.load(open("xgboost-model", "rb"))
   
       test_path = "/opt/ml/processing/test/test.csv"
       df = pd.read_csv(test_path, header=None)
       
       y_test = df.iloc[:, 0].to_numpy()
       df.drop(df.columns[0], axis=1, inplace=True)
       
       X_test = xgboost.DMatrix(df.values)
       
       predictions = model.predict(X_test)
   
       mse = mean_squared_error(y_test, predictions)
       std = np.std(y_test - predictions)
       report_dict = {
           "regression_metrics": {
               "mse": {
                   "value": mse,
                   "standard_deviation": std
               },
           },
       }
   
       output_dir = "/opt/ml/processing/evaluation"
       pathlib.Path(output_dir).mkdir(parents=True, exist_ok=True)
       
       evaluation_path = f"{output_dir}/evaluation.json"
       with open(evaluation_path, "w") as f:
           f.write(json.dumps(report_dict))
   ```

1.  Buat sebuah instance dari `ScriptProcessor` yang digunakan untuk membuat`ProcessingStep`. 

   ```
   from sagemaker.processing import ScriptProcessor
   
   
   script_eval = ScriptProcessor(
       image_uri=image_uri,
       command=["python3"],
       instance_type="ml.m5.xlarge",
       instance_count=1,
       base_job_name="script-abalone-eval",
       sagemaker_session=pipeline_session,
       role=role,
   )
   ```

1.  Buat `ProcessingStep` menggunakan instance prosesor, saluran input dan output, dan `evaluation.py` skrip. Lulus:
   + `S3ModelArtifacts`properti dari langkah `step_train` pelatihan
   + `S3Uri`saluran `"test"` output dari langkah `step_process` pemrosesan

   Ini sangat mirip dengan `run` metode instance prosesor di SageMaker AI Python SDK.  

   ```
   from sagemaker.workflow.properties import PropertyFile
   
   
   evaluation_report = PropertyFile(
       name="EvaluationReport",
       output_name="evaluation",
       path="evaluation.json"
   )
   
   eval_args = script_eval.run(
           inputs=[
           ProcessingInput(
               source=step_train.properties.ModelArtifacts.S3ModelArtifacts,
               destination="/opt/ml/processing/model"
           ),
           ProcessingInput(
               source=step_process.properties.ProcessingOutputConfig.Outputs[
                   "test"
               ].S3Output.S3Uri,
               destination="/opt/ml/processing/test"
           )
       ],
       outputs=[
           ProcessingOutput(output_name="evaluation", source="/opt/ml/processing/evaluation"),
       ],
       code="abalone/evaluation.py",
   )
   
   step_eval = ProcessingStep(
       name="AbaloneEval",
       step_args=eval_args,
       property_files=[evaluation_report],
   )
   ```

#### Langkah 6: Tentukan CreateModelStep untuk transformasi batch
<a name="define-pipeline-create-model"></a>

**penting**  
Kami merekomendasikan penggunaan [Langkah model](build-and-manage-steps-types.md#step-type-model) untuk membuat model pada v2.90.0 dari Python SDK. SageMaker `CreateModelStep`akan terus bekerja di versi SDK SageMaker Python sebelumnya, tetapi tidak lagi didukung secara aktif.

Bagian ini menunjukkan cara membuat model SageMaker AI dari output langkah pelatihan. Model ini digunakan untuk transformasi batch pada dataset baru. Langkah ini diteruskan ke langkah kondisi dan hanya berjalan jika langkah kondisi dievaluasi. `true`

**Untuk menentukan transformasi CreateModelStep untuk batch**

1.  Buat model SageMaker AI. Lewati `S3ModelArtifacts` properti dari langkah `step_train` pelatihan.

   ```
   from sagemaker.model import Model
   
   
   model = Model(
       image_uri=image_uri,
       model_data=step_train.properties.ModelArtifacts.S3ModelArtifacts,
       sagemaker_session=pipeline_session,
       role=role,
   )
   ```

1. Tentukan input model untuk model SageMaker AI Anda.

   ```
   from sagemaker.inputs import CreateModelInput
   
   
   inputs = CreateModelInput(
       instance_type="ml.m5.large",
       accelerator_type="ml.eia1.medium",
   )
   ```

1. Buat `CreateModelStep` contoh model `CreateModelInput` dan SageMaker AI yang Anda tentukan.

   ```
   from sagemaker.workflow.steps import CreateModelStep
   
   
   step_create_model = CreateModelStep(
       name="AbaloneCreateModel",
       model=model,
       inputs=inputs,
   )
   ```

#### Langkah 7: Tentukan TransformStep untuk melakukan transformasi batch
<a name="define-pipeline-transform"></a>

Bagian ini menunjukkan cara membuat `TransformStep` untuk melakukan transformasi batch pada kumpulan data setelah model dilatih. Langkah ini diteruskan ke langkah kondisi dan hanya berjalan jika langkah kondisi dievaluasi. `true`

**Untuk menentukan TransformStep untuk melakukan transformasi batch**

1. Buat instance transformator dengan jenis instans komputasi yang sesuai, jumlah instans, dan URI bucket Amazon S3 keluaran yang diinginkan. Lewati `ModelName` properti dari `step_create_model` `CreateModel` langkah. 

   ```
   from sagemaker.transformer import Transformer
   
   
   transformer = Transformer(
       model_name=step_create_model.properties.ModelName,
       instance_type="ml.m5.xlarge",
       instance_count=1,
       output_path=f"s3://{default_bucket}/AbaloneTransform"
   )
   ```

1. Buat `TransformStep` menggunakan instance transformator yang Anda tentukan dan parameter `batch_data` pipeline.

   ```
   from sagemaker.inputs import TransformInput
   from sagemaker.workflow.steps import TransformStep
   
   
   step_transform = TransformStep(
       name="AbaloneTransform",
       transformer=transformer,
       inputs=TransformInput(data=batch_data)
   )
   ```

#### Langkah 8: Tentukan RegisterModel langkah untuk membuat paket model
<a name="define-pipeline-register"></a>

**penting**  
Kami merekomendasikan penggunaan [Langkah model](build-and-manage-steps-types.md#step-type-model) untuk mendaftarkan model pada v2.90.0 dari Python SDK. SageMaker `RegisterModel`akan terus bekerja di versi SDK SageMaker Python sebelumnya, tetapi tidak lagi didukung secara aktif.

Bagian ini menunjukkan cara membuat instance dari`RegisterModel`. Hasil berjalan `RegisterModel` dalam pipa adalah paket model. Paket model adalah abstraksi artefak model yang dapat digunakan kembali yang mengemas semua bahan yang diperlukan untuk inferensi. Ini terdiri dari spesifikasi inferensi yang mendefinisikan gambar inferensi untuk digunakan bersama dengan lokasi bobot model opsional. Grup paket model adalah kumpulan paket model. Anda dapat menggunakan `ModelPackageGroup` for Pipelines untuk menambahkan versi baru dan paket model ke grup untuk setiap pipeline yang dijalankan. Untuk informasi selengkapnya tentang registri model, lihat[Penerapan Pendaftaran Model dengan Model Registry](model-registry.md).

Langkah ini diteruskan ke langkah kondisi dan hanya berjalan jika langkah kondisi dievaluasi. `true`

**Untuk menentukan RegisterModel langkah untuk membuat paket model**
+  Buat `RegisterModel` langkah menggunakan instance estimator yang Anda gunakan untuk langkah pelatihan. Lewati `S3ModelArtifacts` properti dari langkah `step_train` pelatihan dan tentukan a`ModelPackageGroup`. Pipelines menciptakan ini `ModelPackageGroup` untuk Anda.

  ```
  from sagemaker.model_metrics import MetricsSource, ModelMetrics 
  from sagemaker.workflow.step_collections import RegisterModel
  
  
  model_metrics = ModelMetrics(
      model_statistics=MetricsSource(
          s3_uri="{}/evaluation.json".format(
              step_eval.arguments["ProcessingOutputConfig"]["Outputs"][0]["S3Output"]["S3Uri"]
          ),
          content_type="application/json"
      )
  )
  step_register = RegisterModel(
      name="AbaloneRegisterModel",
      estimator=xgb_train,
      model_data=step_train.properties.ModelArtifacts.S3ModelArtifacts,
      content_types=["text/csv"],
      response_types=["text/csv"],
      inference_instances=["ml.t2.medium", "ml.m5.xlarge"],
      transform_instances=["ml.m5.xlarge"],
      model_package_group_name=model_package_group_name,
      approval_status=model_approval_status,
      model_metrics=model_metrics
  )
  ```

#### Langkah 9: Tentukan langkah kondisi untuk memverifikasi akurasi model
<a name="define-pipeline-condition"></a>

A `ConditionStep` memungkinkan Pipelines untuk mendukung pengoperasian bersyarat di DAG pipeline Anda berdasarkan kondisi properti langkah. Dalam hal ini, Anda hanya ingin mendaftarkan paket model jika keakuratan model tersebut melebihi nilai yang diperlukan. Keakuratan model ditentukan oleh langkah evaluasi model. Jika akurasi melebihi nilai yang diperlukan, pipeline juga membuat Model SageMaker AI dan menjalankan transformasi batch pada kumpulan data. Bagian ini menunjukkan cara mendefinisikan langkah Kondisi.

**Untuk menentukan langkah kondisi untuk memverifikasi akurasi model**

1.  Tentukan `ConditionLessThanOrEqualTo` kondisi menggunakan nilai akurasi yang ditemukan dalam output dari langkah pemrosesan evaluasi model,`step_eval`. Dapatkan output ini menggunakan file properti yang Anda indeks dalam langkah pemrosesan dan masing-masing JSONPath nilai kesalahan kuadrat rata-rata,. `"mse"`

   ```
   from sagemaker.workflow.conditions import ConditionLessThanOrEqualTo
   from sagemaker.workflow.condition_step import ConditionStep
   from sagemaker.workflow.functions import JsonGet
   
   
   cond_lte = ConditionLessThanOrEqualTo(
       left=JsonGet(
           step_name=step_eval.name,
           property_file=evaluation_report,
           json_path="regression_metrics.mse.value"
       ),
       right=6.0
   )
   ```

1.  Membangun a. `ConditionStep` Lulus `ConditionEquals` kondisi, lalu atur pendaftaran paket model dan langkah transformasi batch sebagai langkah selanjutnya jika kondisi berlalu. 

   ```
   step_cond = ConditionStep(
       name="AbaloneMSECond",
       conditions=[cond_lte],
       if_steps=[step_register, step_create_model, step_transform],
       else_steps=[], 
   )
   ```

#### Langkah 10: Buat pipeline
<a name="define-pipeline-pipeline"></a>

Sekarang setelah Anda membuat semua langkah, gabungkan mereka ke dalam pipeline.

**Untuk membuat pipa**

1.  Tentukan hal berikut untuk pipeline Anda:`name`,`parameters`, dan`steps`. Nama harus unik dalam `(account, region)` pasangan.
**catatan**  
Sebuah langkah hanya dapat muncul sekali di daftar langkah pipeline atau daftar langkah if/else dari langkah kondisi. Itu tidak bisa muncul di keduanya. 

   ```
   from sagemaker.workflow.pipeline import Pipeline
   
   
   pipeline_name = f"AbalonePipeline"
   pipeline = Pipeline(
       name=pipeline_name,
       parameters=[
           processing_instance_count,
           model_approval_status,
           input_data,
           batch_data,
       ],
       steps=[step_process, step_train, step_eval, step_cond],
   )
   ```

1.  (Opsional) Periksa definisi pipa JSON untuk memastikan bahwa itu terbentuk dengan baik.

   ```
   import json
   
   json.loads(pipeline.definition())
   ```

 Definisi pipeline ini siap dikirimkan ke SageMaker AI. Dalam tutorial berikutnya, Anda mengirimkan pipeline ini ke SageMaker AI dan mulai menjalankan. 

## Tentukan pipeline (JSON)
<a name="collapsible-section-1"></a>

Anda juga dapat menggunakan [boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_pipeline) atau [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html)untuk membuat pipeline. Membuat pipa memerlukan definisi pipa, yang merupakan objek JSON yang mendefinisikan setiap langkah pipa. SageMaker SDK menawarkan cara sederhana untuk membuat definisi pipeline, yang dapat Anda gunakan dengan salah satu yang disebutkan APIs sebelumnya untuk membuat pipeline itu sendiri. Tanpa menggunakan SDK, pengguna harus menulis definisi JSON mentah untuk membuat pipeline tanpa pemeriksaan kesalahan yang disediakan oleh Python SageMaker SDK. Untuk melihat skema definisi JSON pipeline, lihat Skema JSON [Definisi Pipeline SageMaker AI](https://aws-sagemaker-mlops.github.io/sagemaker-model-building-pipeline-definition-JSON-schema/). Contoh kode berikut menunjukkan contoh objek JSON definisi pipeline SageMaker AI:

```
{'Version': '2020-12-01',
 'Metadata': {},
 'Parameters': [{'Name': 'ProcessingInstanceType',
   'Type': 'String',
   'DefaultValue': 'ml.m5.xlarge'},
  {'Name': 'ProcessingInstanceCount', 'Type': 'Integer', 'DefaultValue': 1},
  {'Name': 'TrainingInstanceType',
   'Type': 'String',
   'DefaultValue': 'ml.m5.xlarge'},
  {'Name': 'ModelApprovalStatus',
   'Type': 'String',
   'DefaultValue': 'PendingManualApproval'},
  {'Name': 'ProcessedData',
   'Type': 'String',
   'DefaultValue': 'S3_URL',
{'Name': 'InputDataUrl',
   'Type': 'String',
   'DefaultValue': 'S3_URL',
 'PipelineExperimentConfig': {'ExperimentName': {'Get': 'Execution.PipelineName'},
  'TrialName': {'Get': 'Execution.PipelineExecutionId'}},
 'Steps': [{'Name': 'ReadTrainDataFromFS',
   'Type': 'Processing',
   'Arguments': {'ProcessingResources': {'ClusterConfig': {'InstanceType': 'ml.m5.4xlarge',
      'InstanceCount': 2,
      'VolumeSizeInGB': 30}},
    'AppSpecification': {'ImageUri': 'IMAGE_URI',
     'ContainerArguments': [....]},
    'RoleArn': 'ROLE',
      'ProcessingInputs': [...],
    'ProcessingOutputConfig': {'Outputs': [.....]},
    'StoppingCondition': {'MaxRuntimeInSeconds': 86400}},
   'CacheConfig': {'Enabled': True, 'ExpireAfter': '30d'}},
   ...
   ...
   ...
  }
```

 **Langkah selanjutnya:** [Jalankan pipa](run-pipeline.md) 

# Mengedit pipa
<a name="edit-pipeline-before-execution"></a>

Untuk membuat perubahan pada pipeline sebelum menjalankannya, lakukan hal berikut:

1. Buka SageMaker Studio dengan mengikuti petunjuk di [Luncurkan Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. Di panel navigasi kiri Studio, pilih **Pipelines**.

1. Pilih nama pipeline untuk melihat detail tentang pipeline.

1. Pilih tab **Eksekusi**.

1. Pilih nama eksekusi pipeline.

1. Pilih **Edit** untuk membuka Pipeline Designer.

1. Perbarui tepi di antara langkah-langkah atau konfigurasi langkah sesuai kebutuhan dan klik **Simpan**. 

   Menyimpan pipeline setelah mengedit secara otomatis menghasilkan nomor versi baru.

1. Pilih **Jalankan**.

# Jalankan pipa
<a name="run-pipeline"></a>

Setelah mendefinisikan langkah-langkah pipeline Anda sebagai grafik asiklik terarah (DAG), Anda dapat menjalankan pipeline Anda, yang menjalankan langkah-langkah yang ditentukan dalam DAG Anda. Panduan berikut menunjukkan cara menjalankan pipeline Amazon SageMaker AI menggunakan editor drag-and-drop visual di Amazon SageMaker Studio atau Amazon Python SageMaker SDK.

## Jalankan pipa (Perancang pipa)
<a name="run-pipeline-designer"></a>

Untuk memulai eksekusi baru pipeline Anda, lakukan hal berikut:

------
#### [ Studio ]

1. Buka SageMaker Studio dengan mengikuti petunjuk di [Luncurkan Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. Di panel navigasi kiri, pilih **Pipelines**.

1. (Opsional) Untuk memfilter daftar saluran pipa berdasarkan nama, masukkan nama pipa lengkap atau sebagian di bidang pencarian.

1. Pilih nama pipeline untuk membuka tampilan detail pipeline.

1. Pilih **Visual Editor** di kanan atas.

1. Untuk memulai eksekusi dari versi terbaru, pilih **Eksekusi.**

1. Untuk memulai eksekusi dari versi tertentu, ikuti langkah-langkah ini:
   + Pilih ikon versi di toolbar bawah untuk membuka panel versi.
   + Pilih versi pipeline yang ingin Anda jalankan.
   + **Arahkan kursor ke item versi untuk menampilkan menu tiga titik, pilih Jalankan.**
   + (Opsional) Untuk melihat versi pipeline sebelumnya, pilih **Pratinjau** dari menu tiga titik di panel versi. Anda juga dapat mengedit versi dengan memilih **Edit** di bilah notifikasi.

**catatan**  
Jika pipeline Anda gagal, spanduk status akan menampilkan status **Gagal**. Setelah memecahkan masalah langkah yang gagal, pilih **Coba lagi** pada spanduk status untuk melanjutkan menjalankan pipeline dari langkah itu.

------
#### [ Studio Classic ]

1. Masuk ke Amazon SageMaker Studio Classic. Untuk informasi selengkapnya, lihat [Meluncurkan Amazon SageMaker Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-launch.html).

1. Di sidebar Studio Classic, pilih ikon **Beranda** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/studio/icons/house.png)).

1. Pilih **Pipelines** dari menu.

1. Untuk mempersempit daftar saluran pipa dengan nama, masukkan nama pipa lengkap atau sebagian di bidang pencarian.

1. Pilih nama pipeline.

1. Dari tab **Eksekusi** atau **Grafik** dalam daftar eksekusi, pilih **Buat eksekusi**.

1. Masukkan atau perbarui informasi yang diperlukan berikut:
   + **Nama** — Harus unik untuk akun Anda di AWS Wilayah.
   + **ProcessingInstanceCount**— Jumlah instance yang digunakan untuk pemrosesan.
   + **ModelApprovalStatus**- Untuk kenyamanan Anda.
   + **InputDataUrl**— URI Amazon S3 dari data input.

1. Pilih **Mulai**.

Setelah pipeline berjalan, Anda dapat melihat detail eksekusi dengan memilih **Lihat detail** pada spanduk status.

Untuk menghentikan proses, pilih **Berhenti** pada spanduk status. Untuk melanjutkan eksekusi dari tempat itu dihentikan, pilih **Lanjutkan** pada spanduk status.

**catatan**  
Jika pipeline Anda gagal, spanduk status akan menampilkan status **Gagal**. Setelah memecahkan masalah langkah yang gagal, pilih **Coba lagi** pada spanduk status untuk melanjutkan menjalankan pipeline dari langkah itu.

------

## Jalankan pipeline (SageMaker Python SDK)
<a name="run-pipeline-sdk"></a>

Setelah Anda membuat definisi pipeline menggunakan SageMaker AI Python SDK, Anda dapat mengirimkannya ke SageMaker AI untuk memulai eksekusi Anda. Tutorial berikut menunjukkan cara mengirimkan pipeline, memulai eksekusi, memeriksa hasil eksekusi itu, dan menghapus pipeline Anda. 

**Topics**
+ [Prasyarat](#run-pipeline-prereq)
+ [Langkah 1: Mulai Pipeline](#run-pipeline-submit)
+ [Langkah 2: Periksa Eksekusi Pipeline](#run-pipeline-examine)
+ [Langkah 3: Ganti Parameter Default untuk Eksekusi Pipeline](#run-pipeline-parametrized)
+ [Langkah 4: Hentikan dan Hapus Eksekusi Pipeline](#run-pipeline-delete)

### Prasyarat
<a name="run-pipeline-prereq"></a>

Tutorial ini membutuhkan yang berikut: 
+  Sebuah contoh SageMaker notebook.  
+  Definisi pipa pipa. Tutorial ini mengasumsikan Anda menggunakan definisi pipeline yang dibuat dengan menyelesaikan [Tentukan pipa](define-pipeline.md) tutorial. 

### Langkah 1: Mulai Pipeline
<a name="run-pipeline-submit"></a>

Pertama, Anda perlu memulai pipa. 

**Untuk memulai pipa**

1. Periksa definisi pipa JSON untuk memastikan bahwa itu terbentuk dengan baik.

   ```
   import json
   
   json.loads(pipeline.definition())
   ```

1. Kirimkan definisi pipeline ke layanan Pipelines untuk membuat pipeline jika tidak ada, atau perbarui pipeline jika ada. Peran yang diteruskan digunakan oleh Pipelines untuk menciptakan semua pekerjaan yang ditentukan dalam langkah-langkah. 

   ```
   pipeline.upsert(role_arn=role)
   ```

1. Mulai eksekusi pipeline.

   ```
   execution = pipeline.start()
   ```

### Langkah 2: Periksa Eksekusi Pipeline
<a name="run-pipeline-examine"></a>

Selanjutnya, Anda perlu memeriksa eksekusi pipa. 

**Untuk memeriksa eksekusi pipa**

1.  Jelaskan status eksekusi pipeline untuk memastikan bahwa itu telah dibuat dan dimulai dengan sukses.

   ```
   execution.describe()
   ```

1. Tunggu eksekusi selesai. 

   ```
   execution.wait()
   ```

1. Buat daftar langkah-langkah eksekusi dan statusnya.

   ```
   execution.list_steps()
   ```

   Output Anda akan terlihat seperti berikut:

   ```
   [{'StepName': 'AbaloneTransform',
     'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 27, 870000, tzinfo=tzlocal()),
     'EndTime': datetime.datetime(2020, 11, 21, 2, 45, 50, 492000, tzinfo=tzlocal()),
     'StepStatus': 'Succeeded',
     'CacheHitResult': {'SourcePipelineExecutionArn': ''},
     'Metadata': {'TransformJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:transform-job/pipelines-cfvy1tjuxdq8-abalonetransform-ptyjoef3jy'}}},
    {'StepName': 'AbaloneRegisterModel',
     'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 26, 929000, tzinfo=tzlocal()),
     'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 28, 15000, tzinfo=tzlocal()),
     'StepStatus': 'Succeeded',
     'CacheHitResult': {'SourcePipelineExecutionArn': ''},
     'Metadata': {'RegisterModel': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:model-package/abalonemodelpackagegroupname/1'}}},
    {'StepName': 'AbaloneCreateModel',
     'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 26, 895000, tzinfo=tzlocal()),
     'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 27, 708000, tzinfo=tzlocal()),
     'StepStatus': 'Succeeded',
     'CacheHitResult': {'SourcePipelineExecutionArn': ''},
     'Metadata': {'Model': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:model/pipelines-cfvy1tjuxdq8-abalonecreatemodel-jl94rai0ra'}}},
    {'StepName': 'AbaloneMSECond',
     'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 25, 558000, tzinfo=tzlocal()),
     'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 26, 329000, tzinfo=tzlocal()),
     'StepStatus': 'Succeeded',
     'CacheHitResult': {'SourcePipelineExecutionArn': ''},
     'Metadata': {'Condition': {'Outcome': 'True'}}},
    {'StepName': 'AbaloneEval',
     'StartTime': datetime.datetime(2020, 11, 21, 2, 37, 34, 767000, tzinfo=tzlocal()),
     'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 18, 80000, tzinfo=tzlocal()),
     'StepStatus': 'Succeeded',
     'CacheHitResult': {'SourcePipelineExecutionArn': ''},
     'Metadata': {'ProcessingJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:processing-job/pipelines-cfvy1tjuxdq8-abaloneeval-zfraozhmny'}}},
    {'StepName': 'AbaloneTrain',
     'StartTime': datetime.datetime(2020, 11, 21, 2, 34, 55, 867000, tzinfo=tzlocal()),
     'EndTime': datetime.datetime(2020, 11, 21, 2, 37, 34, 34000, tzinfo=tzlocal()),
     'StepStatus': 'Succeeded',
     'CacheHitResult': {'SourcePipelineExecutionArn': ''},
     'Metadata': {'TrainingJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:training-job/pipelines-cfvy1tjuxdq8-abalonetrain-tavd6f3wdf'}}},
    {'StepName': 'AbaloneProcess',
     'StartTime': datetime.datetime(2020, 11, 21, 2, 30, 27, 160000, tzinfo=tzlocal()),
     'EndTime': datetime.datetime(2020, 11, 21, 2, 34, 48, 390000, tzinfo=tzlocal()),
     'StepStatus': 'Succeeded',
     'CacheHitResult': {'SourcePipelineExecutionArn': ''},
     'Metadata': {'ProcessingJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:processing-job/pipelines-cfvy1tjuxdq8-abaloneprocess-mgqyfdujcj'}}}]
   ```

1. Setelah eksekusi pipeline Anda selesai, unduh `evaluation.json` file yang dihasilkan dari Amazon S3 untuk memeriksa laporan. 

   ```
   evaluation_json = sagemaker.s3.S3Downloader.read_file("{}/evaluation.json".format(
       step_eval.arguments["ProcessingOutputConfig"]["Outputs"][0]["S3Output"]["S3Uri"]
   ))
   json.loads(evaluation_json)
   ```

### Langkah 3: Ganti Parameter Default untuk Eksekusi Pipeline
<a name="run-pipeline-parametrized"></a>

Anda dapat menjalankan eksekusi tambahan dari pipeline dengan menentukan parameter pipeline yang berbeda untuk mengganti default.

**Untuk mengganti parameter default**

1. Buat eksekusi pipeline. Ini memulai eksekusi pipeline lain dengan penggantian status persetujuan model disetel ke “Disetujui”. Ini berarti bahwa versi paket model yang dihasilkan oleh `RegisterModel` langkah secara otomatis siap untuk penyebaran melalui CI/CD pipeline, seperti dengan SageMaker Projects. Untuk informasi selengkapnya, lihat [MLOps Otomatisasi Dengan SageMaker Proyek](sagemaker-projects.md).

   ```
   execution = pipeline.start(
       parameters=dict(
           ModelApprovalStatus="Approved",
       )
   )
   ```

1. Tunggu eksekusi selesai. 

   ```
   execution.wait()
   ```

1. Buat daftar langkah-langkah eksekusi dan statusnya.

   ```
   execution.list_steps()
   ```

1. Setelah eksekusi pipeline Anda selesai, unduh `evaluation.json` file yang dihasilkan dari Amazon S3 untuk memeriksa laporan. 

   ```
   evaluation_json = sagemaker.s3.S3Downloader.read_file("{}/evaluation.json".format(
       step_eval.arguments["ProcessingOutputConfig"]["Outputs"][0]["S3Output"]["S3Uri"]
   ))
   json.loads(evaluation_json)
   ```

### Langkah 4: Hentikan dan Hapus Eksekusi Pipeline
<a name="run-pipeline-delete"></a>

Setelah selesai dengan pipeline, Anda dapat menghentikan eksekusi yang sedang berlangsung dan menghapus pipeline.

**Untuk menghentikan dan menghapus eksekusi pipeline**

1. Hentikan eksekusi pipa.

   ```
   execution.stop()
   ```

1. Hapus pipa.

   ```
   pipeline.delete()
   ```

# Hentikan pipa
<a name="pipelines-studio-stop"></a>

Anda dapat menghentikan proses pipeline di konsol Amazon SageMaker Studio.

Untuk menghentikan eksekusi pipeline di konsol Amazon SageMaker Studio, selesaikan langkah-langkah berikut berdasarkan apakah Anda menggunakan Studio atau Studio Classic.

------
#### [ Studio ]

1. Di panel navigasi kiri, pilih **Pipelines**.

1. (Opsional) Untuk memfilter daftar saluran pipa berdasarkan nama, masukkan nama pipa lengkap atau sebagian di bidang pencarian.

1. Pilih nama pipeline.

1. Pilih tab **Eksekusi**.

1. Pilih eksekusi untuk berhenti.

1. Pilih **Berhenti**. Untuk melanjutkan eksekusi dari tempat itu dihentikan, pilih **Lanjutkan**

------
#### [ Studio Classic ]

1. Masuk ke Amazon SageMaker Studio Classic. Untuk informasi selengkapnya, lihat [Meluncurkan Amazon SageMaker Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-launch.html).

1. Di sidebar Studio Classic, pilih ikon **Beranda** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/studio/icons/house.png)).

1. Pilih **Pipelines** dari menu.

1. Untuk mempersempit daftar saluran pipa dengan nama, masukkan nama pipa lengkap atau sebagian di bidang pencarian.

1. Untuk menghentikan proses pipeline, pilih **Lihat detail** pada spanduk status pipeline, lalu pilih **Berhenti**. Untuk melanjutkan eksekusi dari tempat itu dihentikan, pilih **Lanjutkan**.

------

# Lihat detail pipa
<a name="pipelines-studio-list"></a>

Anda dapat melihat detail pipeline SageMaker AI untuk memahami parameternya, dependensi langkah-langkahnya, atau memantau kemajuan dan statusnya. Ini dapat membantu Anda memecahkan masalah atau mengoptimalkan alur kerja Anda. Anda dapat mengakses detail pipeline tertentu menggunakan konsol Amazon SageMaker Studio dan menjelajahi riwayat eksekusi, definisi, parameter, dan metadata.

Atau, jika pipeline Anda dikaitkan dengan Proyek SageMaker AI, Anda dapat mengakses detail pipeline dari halaman detail proyek. Untuk informasi selengkapnya, lihat [Lihat Sumber Daya Proyek](sagemaker-projects-resources.md).

Untuk melihat detail pipeline SageMaker AI, selesaikan langkah-langkah berikut berdasarkan apakah Anda menggunakan Studio atau Studio Classic.

**catatan**  
Pengemasan ulang model terjadi ketika pipeline perlu menyertakan skrip khusus dalam file model terkompresi (model.tar.gz) untuk diunggah ke Amazon S3 dan digunakan untuk menerapkan model ke titik akhir AI. SageMaker Ketika pipa SageMaker AI melatih model dan mendaftarkannya ke registri model, ia memperkenalkan langkah pengemasan ulang *jika* keluaran model terlatih dari pekerjaan pelatihan perlu menyertakan skrip inferensi khusus. Langkah repack membuka kompres model, menambahkan skrip baru, dan mengompresi ulang model. Menjalankan pipeline menambahkan langkah repack sebagai pekerjaan pelatihan.

------
#### [ Studio ]

1. Buka konsol SageMaker Studio dengan mengikuti petunjuk di [Luncurkan Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. Di panel navigasi kiri, pilih **Pipelines**.

1. (Opsional) Untuk memfilter daftar saluran pipa berdasarkan nama, masukkan nama pipa lengkap atau sebagian di bidang pencarian.

1. Pilih nama pipeline untuk melihat detail tentang pipeline.

1. Pilih salah satu tab berikut untuk melihat detail pipeline:
   + **Eksekusi** — Detail tentang eksekusi.
   + **Grafik** — Grafik pipa, termasuk semua langkah.
   + **Parameter** — Parameter run dan metrik yang terkait dengan pipeline.
   + **Informasi** — Metadata yang terkait dengan pipeline, seperti tag, pipeline Amazon Resource Name (ARN), dan peran ARN. Anda juga dapat mengedit deskripsi pipeline dari halaman ini.

------
#### [ Studio Classic ]

1. Masuk ke Amazon SageMaker Studio Classic. Untuk informasi selengkapnya, lihat [Meluncurkan Amazon SageMaker Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-launch.html).

1. Di sidebar Studio Classic, pilih ikon **Beranda** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/studio/icons/house.png)).

1. Pilih **Pipelines** dari menu.

1. Untuk mempersempit daftar saluran pipa dengan nama, masukkan nama pipa lengkap atau sebagian di bidang pencarian.

1. Pilih nama pipeline untuk melihat detail tentang pipeline. Tab rincian pipeline membuka dan menampilkan daftar eksekusi pipeline. Anda dapat memulai eksekusi atau memilih salah satu tab lain untuk informasi lebih lanjut tentang pipeline. Gunakan ikon **Property Inspector** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/studio/icons/gears.png)) untuk memilih kolom mana yang akan ditampilkan.

1. Dari halaman detail pipeline, pilih salah satu tab berikut untuk melihat detail tentang pipeline:
   + **Eksekusi** — Detail tentang eksekusi. Anda dapat membuat eksekusi dari tab ini atau tab **Grafik**.
   + **Grafik** — DAG untuk pipa.
   + **Parameter** - Termasuk status persetujuan model.
   + **Pengaturan** — Metadata yang terkait dengan pipa. Anda dapat mengunduh file definisi pipeline dan mengedit nama dan deskripsi pipeline dari tab ini.

------

# Lihat detail proses pipeline
<a name="pipelines-studio-view-execution"></a>

Anda dapat meninjau detail proses pipeline SageMaker AI tertentu. Ini dapat membantu Anda:
+ Identifikasi dan selesaikan masalah yang mungkin terjadi selama proses, seperti langkah gagal atau kesalahan tak terduga.
+ Bandingkan hasil eksekusi pipeline yang berbeda untuk memahami bagaimana perubahan data input atau parameter memengaruhi alur kerja secara keseluruhan.
+ Identifikasi kemacetan dan peluang untuk optimasi.

Untuk melihat detail proses pipeline, selesaikan langkah-langkah berikut berdasarkan apakah Anda menggunakan Studio atau Studio Classic.

------
#### [ Studio ]

1. Buka konsol SageMaker Studio dengan mengikuti petunjuk di [Luncurkan Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. Di panel navigasi kiri, pilih **Pipelines**.

1. (Opsional) Untuk memfilter daftar saluran pipa berdasarkan nama, masukkan nama pipa lengkap atau sebagian di bidang pencarian.

1. Pilih nama pipeline untuk melihat detail tentang pipeline.

1. Pilih tab **Eksekusi**.

1. Pilih nama eksekusi pipeline untuk dilihat. Grafik pipeline untuk eksekusi itu muncul.

1. Pilih salah satu langkah pipeline dalam grafik untuk melihat pengaturan langkah di bilah sisi kanan.

1. Pilih salah satu tab berikut untuk melihat detail pipeline lainnya:
   + **Definisi** — Grafik pipa, termasuk semua langkah.
   + **Parameter** - Termasuk status persetujuan model.
   + **Detail** — Metadata yang terkait dengan pipeline, seperti tag, pipeline Amazon Resource Name (ARN), dan peran ARN. Anda juga dapat mengedit deskripsi pipeline dari halaman ini.

------
#### [ Studio Classic ]

1. Masuk ke Amazon SageMaker Studio Classic. Untuk informasi selengkapnya, lihat [Meluncurkan Amazon SageMaker Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-launch.html).

1. Di sidebar Studio Classic, pilih ikon **Beranda** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/studio/icons/house.png)).

1. Pilih **Pipelines** dari menu.

1. Untuk mempersempit daftar saluran pipa dengan nama, masukkan nama pipa lengkap atau sebagian di bidang pencarian.

1. Pilih nama pipeline. Halaman **Eksekusi** pipeline terbuka.

1. Di halaman **Eksekusi**, pilih nama eksekusi untuk melihat detail tentang eksekusi. Tab detail eksekusi terbuka dan menampilkan grafik langkah-langkah dalam pipeline.

1. Untuk mencari langkah demi nama, ketik karakter yang cocok dengan nama langkah di bidang pencarian. Gunakan ikon pengubahan ukuran di sisi kanan bawah grafik untuk memperbesar dan memperkecil grafik, menyesuaikan grafik ke layar, dan memperluas grafik ke layar penuh. Untuk fokus pada bagian tertentu dari grafik, Anda dapat memilih area kosong grafik dan menyeret grafik ke tengah area itu.   
![\[\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/yosemite/execution-graph-w-input.png)

1. Pilih salah satu langkah pipeline dalam grafik untuk melihat detail tentang langkah tersebut. Pada tangkapan layar sebelumnya, langkah pelatihan dipilih dan menampilkan tab berikut:
   + **Input** — Input pelatihan. Jika sumber input berasal dari Amazon Simple Storage Service (Amazon S3), pilih tautan untuk melihat file di konsol Amazon S3.
   + **Output** — Output pelatihan, seperti metrik, bagan, file, dan hasil evaluasi. Grafik diproduksi menggunakan [ APIsTracker](https://sagemaker-experiments.readthedocs.io/en/latest/tracker.html#smexperiments.tracker.Tracker.log_precision_recall).
   + **Log** — CloudWatch Log Amazon diproduksi oleh langkah.
   + **Info** — Parameter dan metadata yang terkait dengan langkah.  
![\[\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/yosemite/execution-graph-info.png)

------

# Unduh file definisi pipeline
<a name="pipelines-studio-download"></a>

Anda dapat mengunduh file definisi untuk pipeline SageMaker AI Anda langsung dari Amazon SageMaker Studio UI. Anda dapat menggunakan file definisi pipeline ini untuk:
+ Backup dan restorasi: Gunakan file yang diunduh untuk membuat cadangan konfigurasi pipeline Anda, yang dapat Anda pulihkan jika terjadi kegagalan infrastruktur atau perubahan yang tidak disengaja.
+ Kontrol versi: Simpan file definisi pipeline dalam sistem kontrol sumber untuk melacak perubahan pada pipeline dan kembali ke versi sebelumnya jika diperlukan.
+ Interaksi terprogram: Gunakan file definisi pipeline sebagai input ke SageMaker SDK atau file. AWS CLI
+ Integrasi dengan proses otomatisasi: Integrasikan definisi pipeline ke dalam CI/CD alur kerja Anda atau proses otomatisasi lainnya.

Untuk mengunduh file definisi pipeline, selesaikan langkah-langkah berikut berdasarkan apakah Anda menggunakan Studio atau Studio Classic.

------
#### [ Studio ]

1. Buka konsol SageMaker Studio dengan mengikuti petunjuk di [Luncurkan Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. Di panel navigasi kiri, pilih **Pipelines**.

1. (Opsional) Untuk memfilter daftar saluran pipa berdasarkan nama, masukkan nama pipa lengkap atau sebagian di bidang pencarian.

1. Pilih nama pipeline. Halaman **Eksekusi** membuka dan menampilkan daftar eksekusi pipeline.

1. Tetap di halaman **Eksekusi** atau pilih halaman **Grafik**, **Informasi**, atau **Parameter** di sebelah kiri tabel eksekusi pipeline. Anda dapat mengunduh definisi pipeline dari salah satu halaman ini.

1. Di kanan atas halaman, pilih elipsis vertikal dan pilih **Download pipeline definition (JSON**).

------
#### [ Studio Classic ]

1. Masuk ke Amazon SageMaker Studio Classic. Untuk informasi selengkapnya, lihat [Meluncurkan Amazon SageMaker Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-launch.html).

1. Di sidebar Studio Classic, pilih ikon **Beranda** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/studio/icons/house.png)).

1. Pilih **Pipelines** dari menu.

1. Untuk mempersempit daftar saluran pipa dengan nama, masukkan nama pipa lengkap atau sebagian di bidang pencarian.

1. Pilih nama pipeline.

1. Pilih tab **Pengaturan**.

1. Pilih **Unduh file definisi pipeline**.

------

# Akses data eksperimen dari pipeline
<a name="pipelines-studio-experiments"></a>

**catatan**  
SageMaker Eksperimen adalah fitur yang disediakan di Studio Classic saja.

Saat Anda membuat pipeline dan menentukan [pipeline\$1experiment\$1config](https://sagemaker.readthedocs.io/en/stable/workflows/pipelines/sagemaker.workflow.pipelines.html#sagemaker.workflow.pipeline.Pipeline.pipeline_experiment_config), Pipelines akan membuat entitas SageMaker Eksperimen berikut secara default jika tidak ada:
+ Eksperimen untuk pipa
+ Grup run untuk setiap eksekusi pipeline
+ Lari untuk setiap pekerjaan SageMaker AI yang dibuat dalam langkah pipeline

Untuk informasi tentang bagaimana eksperimen diintegrasikan dengan jaringan pipa, lihat[Integrasi SageMaker Eksperimen Amazon](pipelines-experiments.md). Untuk informasi lebih lanjut tentang SageMaker Eksperimen, lihat[SageMaker Eksperimen Amazon di Studio Classic](experiments.md).

Anda dapat membuka daftar proses yang terkait dengan pipeline baik dari daftar eksekusi pipeline atau daftar eksperimen.

**Untuk melihat daftar run dari daftar eksekusi pipeline**

1. Untuk melihat daftar eksekusi pipeline, ikuti lima langkah pertama di tab *Studio Classic*. [Lihat detail pipa](pipelines-studio-list.md)

1. Di kanan atas layar, pilih ikon **Filter** (![\[Funnel or filter icon representing data filtering or narrowing down options.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/jumpstart/jumpstart-filter-icon.png)).

1. Pilih **Eksperimen**. Jika integrasi eksperimen tidak dinonaktifkan saat pipeline dibuat, nama eksperimen akan ditampilkan dalam daftar eksekusi. 
**catatan**  
Integrasi eksperimen diperkenalkan di v2.41.0 dari Amazon [Python SageMaker ](https://sagemaker.readthedocs.io/en/stable) SDK. Pipeline yang dibuat dengan versi SDK yang lebih lama tidak terintegrasi dengan eksperimen secara default.

1. Pilih eksperimen pilihan Anda untuk melihat grup yang dijalankan dan menjalankan yang terkait dengan eksperimen tersebut.

**Untuk melihat daftar berjalan dari daftar eksperimen**

1. Di bilah sisi kiri Studio Classic, pilih ikon **Beranda** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/studio/icons/house.png)).

1. Pilih **Eksperimen** dari menu.

1. Gunakan bilah pencarian atau ikon **Filter** (![\[Funnel or filter icon representing data filtering or narrowing down options.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/jumpstart/jumpstart-filter-icon.png)) untuk memfilter daftar ke eksperimen yang dibuat oleh pipeline.

1. Buka nama eksperimen dan lihat daftar proses yang dibuat oleh pipeline.

# Lacak garis keturunan pipa
<a name="pipelines-lineage-tracking"></a>

Dalam tutorial ini, Anda menggunakan Amazon SageMaker Studio untuk melacak garis keturunan Amazon SageMaker AI MLPipeline.

[Pipeline ini dibuat oleh notebook [Orchestrating Jobs with Amazon SageMaker Model Building Pipelines](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-pipelines/tabular/abalone_build_train_deploy/sagemaker-pipelines-preprocess-train-evaluate-batch-transform.html) di repositori contoh Amazon. SageMaker GitHub ](https://github.com/awslabs/amazon-sagemaker-examples) Untuk informasi rinci tentang bagaimana pipa dibuat, lihat[Tentukan pipa](define-pipeline.md).

Pelacakan garis keturunan di Studio berpusat di sekitar grafik asiklik terarah (DAG). DAG mewakili langkah-langkah dalam pipa. Dari DAG Anda dapat melacak garis keturunan dari langkah apa pun ke langkah lain. Diagram berikut menampilkan langkah-langkah dalam pipa. Langkah-langkah ini muncul sebagai DAG di Studio.

![\[\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/yosemite/pipeline-tutorial-steps.png)


Untuk melacak garis keturunan pipeline di konsol Amazon SageMaker Studio, selesaikan langkah-langkah berikut berdasarkan apakah Anda menggunakan Studio atau Studio Classic.

------
#### [ Studio ]

**Untuk melacak garis keturunan pipa**

1. Buka konsol SageMaker Studio dengan mengikuti petunjuk di [Luncurkan Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. Di panel navigasi kiri, pilih **Pipelines**.

1. (Opsional) Untuk memfilter daftar saluran pipa berdasarkan nama, masukkan nama pipa lengkap atau sebagian di bidang pencarian.

1. Di kolom **Nama**, pilih nama pipeline untuk melihat detail tentang pipeline.

1. Pilih tab **Eksekusi**.

1. Di kolom **Nama** tabel **Eksekusi**, pilih nama eksekusi pipeline yang akan dilihat.

1. Di kanan atas halaman **Eksekusi**, pilih elipsis vertikal dan pilih **Download pipeline definition (**JSON). Anda dapat melihat file untuk melihat bagaimana grafik pipeline didefinisikan. 

1. Pilih **Edit** untuk membuka Pipeline Designer.

1. Gunakan kontrol pengubahan ukuran dan zoom di sudut kanan atas kanvas untuk memperbesar dan memperkecil grafik, menyesuaikan grafik ke layar, atau memperluas grafik ke layar penuh.

1. Untuk melihat kumpulan data pelatihan, validasi, dan pengujian Anda, selesaikan langkah-langkah berikut:

   1. Pilih langkah Pemrosesan dalam grafik pipeline Anda.

   1. Di bilah sisi kanan, pilih tab **Ikhtisar**.

   1. Di bagian **File**, temukan jalur Amazon S3 ke kumpulan data pelatihan, validasi, dan pengujian.

1. Untuk melihat artefak model Anda, selesaikan langkah-langkah berikut:

   1. Pilih langkah Pelatihan dalam grafik pipeline Anda.

   1. Di bilah sisi kanan, pilih tab **Ikhtisar**.

   1. Di bagian **File**, temukan jalur Amazon S3 ke artefak model.

1. Untuk menemukan paket model ARN, selesaikan langkah-langkah berikut:

   1. Pilih langkah model Register.

   1. Di bilah sisi kanan, pilih tab **Ikhtisar**.

   1. Di bagian **File**, temukan ARN dari paket model.

------
#### [ Studio Classic ]

**Untuk melacak garis keturunan pipa**

1. Masuk ke Amazon SageMaker Studio Classic. Untuk informasi selengkapnya, lihat [Meluncurkan Amazon SageMaker Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-launch.html).

1. Di bilah sisi kiri Studio, pilih ikon **Beranda** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/studio/icons/house.png)).

1. Di menu, pilih **Pipelines**.

1. Gunakan kotak **Pencarian** untuk memfilter daftar pipeline.

1. Pilih `AbalonePipeline` pipeline untuk melihat daftar eksekusi dan detail lainnya tentang pipeline.

1. Pilih ikon **Property Inspector** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/studio/icons/gears.png)) di sidebar kanan untuk membuka panel **TABLE PROPERTIES**, di mana Anda dapat memilih properti mana yang akan dilihat.

1. Pilih tab **Pengaturan** dan kemudian pilih **Unduh file definisi saluran pipa**. Anda dapat melihat file untuk melihat bagaimana grafik pipeline didefinisikan.

1. Pada tab **Eksekusi**, pilih baris pertama dalam daftar eksekusi untuk melihat grafik eksekusi dan detail lainnya tentang eksekusi. Perhatikan bahwa grafik cocok dengan diagram yang ditampilkan di awal tutorial.

   Gunakan ikon pengubahan ukuran di sisi kanan bawah grafik untuk memperbesar dan memperkecil grafik, menyesuaikan grafik ke layar, atau memperluas grafik ke layar penuh. Untuk fokus pada bagian tertentu dari grafik, Anda dapat memilih area kosong grafik dan menyeret grafik ke tengah area itu. Sisipan di sisi kanan bawah grafik menampilkan lokasi Anda dalam grafik.  
![\[\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/yosemite/pipeline-tutorial-execution-graph.png)

1. Pada tab **Grafik**, pilih `AbaloneProcess` langkah untuk melihat detail tentang langkah tersebut.

1. **Temukan jalur Amazon S3 ke kumpulan data pelatihan, validasi, dan pengujian di tab **Output**, di bawah File.**
**catatan**  
Untuk mendapatkan jalur lengkap, klik kanan jalur dan kemudian pilih **Salin isi sel**.

   ```
   s3://sagemaker-eu-west-1-acct-id/sklearn-abalone-process-2020-12-05-17-28-28-509/output/train
   s3://sagemaker-eu-west-1-acct-id/sklearn-abalone-process-2020-12-05-17-28-28-509/output/validation
   s3://sagemaker-eu-west-1-acct-id/sklearn-abalone-process-2020-12-05-17-28-28-509/output/test
   ```

1. Pilih `AbaloneTrain` langkahnya.

1. **Temukan jalur Amazon S3 ke artefak model di tab **Output, di bawah** File:**

   ```
   s3://sagemaker-eu-west-1-acct-id/AbaloneTrain/pipelines-6locnsqz4bfu-AbaloneTrain-NtfEpI0Ahu/output/model.tar.gz
   ```

1. Pilih `AbaloneRegisterModel` langkahnya.

1. **Temukan ARN dari paket model di tab **Output**, di bawah File:**

   ```
   arn:aws:sagemaker:eu-west-1:acct-id:model-package/abalonemodelpackagegroupname/2
   ```

------