Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot - Part 2

Rừng ngập mặn là một phần quan trọng của một hệ sinh thái lành mạnh, và các hoạt động của con người là một trong những nguyên nhân chính khiến chúng dần biến mất khỏi các đường bờ biển trên khắp thế giới. Sử dụng mô hình máy học (ML) để xác định các vùng rừng ngập mặn từ ảnh vệ tinh mang lại cho các nhà nghiên cứu một phương pháp hiệu quả để theo dõi kích thước của các khu rừng theo thời gian. Trong Phần 1 của loạt bài này, chúng tôi đã chỉ ra cách thu thập dữ liệu vệ tinh theo cách tự động và phân tích nó trong Xưởng sản xuất Amazon SageMaker với trực quan tương tác. Trong bài đăng này, chúng tôi hướng dẫn cách sử dụng Amazon SageMaker Tự động lái để tự động hóa quá trình xây dựng bộ phân loại rừng ngập mặn tùy chỉnh.

Đào tạo người mẫu với Autopilot

Autopilot cung cấp một cách cân bằng để xây dựng một số mô hình và chọn mô hình tốt nhất. Trong khi tạo ra nhiều kết hợp của các kỹ thuật tiền xử lý dữ liệu khác nhau và mô hình ML với nỗ lực tối thiểu, Autopilot cung cấp quyền kiểm soát hoàn toàn đối với các bước thành phần này cho nhà khoa học dữ liệu, nếu muốn.

Bạn có thể sử dụng Autopilot bằng một trong các AWS SDK (thông tin chi tiết có sẵn trong Hướng dẫn tham khảo API cho Autopilot) hoặc thông qua Studio. Chúng tôi sử dụng Autopilot trong giải pháp Studio của mình theo các bước được nêu trong phần này:

  1. Trên trang Trình khởi chạy Studio, hãy chọn dấu cộng cho Thử nghiệm Autopilot mới.
    Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  2. Trong Kết nối dữ liệu của bạn, lựa chọn Tìm nhóm S3và nhập tên nhóm nơi bạn đã lưu giữ các tập dữ liệu đào tạo và kiểm tra.
  3. Trong Tên tệp tập dữ liệu, hãy nhập tên của tệp dữ liệu đào tạo bạn đã tạo trong Chuẩn bị dữ liệu đào tạo phần trong Phần 1.
  4. Trong Vị trí dữ liệu đầu ra (nhóm S3), hãy nhập cùng một tên nhóm mà bạn đã sử dụng ở bước 2.
  5. Trong Tên thư mục tập dữ liệu, hãy nhập tên thư mục bên dưới thùng mà bạn muốn Autopilot để lưu trữ các phần mềm.
  6. Trong Đầu vào S3 của bạn có phải là tệp kê khai không?, chọn tắt.
  7. Trong Mục tiêu, chọn nhãn.
  8. Trong Triển khai tự động, chọn tắt.
    Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  9. Bên dưới Cài đặt nâng cao, Cho Loại vấn đề học máy, chọn Phân loại nhị phân.
  10. Trong Chỉ số mục tiêu, chọn AUC.
  11. Trong Chọn cách chạy thử nghiệm của bạn, chọn Không, chạy thử nghiệm để tạo một sổ ghi chép với các định nghĩa ứng viên.
  12. Chọn Tạo thử nghiệm.
    Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
    Để biết thêm thông tin về cách tạo thử nghiệm, hãy tham khảo Tạo thử nghiệm Tự động lái của Amazon SageMakerCó thể mất khoảng 15 phút để chạy bước này.
  13. Khi hoàn thành, hãy chọn Mở sổ ghi chép thế hệ ứng viên, mở một sổ ghi chép mới ở chế độ chỉ đọc.
    Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  14. Chọn Nhập sổ ghi chép để làm cho sổ tay có thể chỉnh sửa.
    Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  15. Đối với Hình ảnh, hãy chọn Khoa học dữ liệu.
  16. Trong Hạt nhân, chọn Python 3.
  17. Chọn Chọn.
    Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Sổ ghi chép được tạo tự động này có giải thích chi tiết và cung cấp khả năng kiểm soát hoàn toàn đối với nhiệm vụ xây dựng mô hình thực tế cần tuân theo. Một phiên bản tùy chỉnh của máy tính xách tay, nơi một nhà phân loại được đào tạo bằng cách sử dụng các băng tần vệ tinh Landsat từ năm 2013, có sẵn trong kho mã dưới notebooks/mangrove-2013.ipynb.

Khung xây dựng mô hình bao gồm hai phần: chuyển đổi tính năng như một phần của bước xử lý dữ liệu và tối ưu hóa siêu tham số (HPO) như một phần của bước lựa chọn mô hình. Tất cả các hiện vật cần thiết cho các nhiệm vụ này đã được tạo trong quá trình thử nghiệm Autopilot và được lưu trong Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Ô máy tính xách tay đầu tiên tải các đồ tạo tác đó từ Amazon S3 xuống cục bộ Amazon SageMaker hệ thống tệp để kiểm tra và bất kỳ sửa đổi cần thiết nào. Có hai thư mục: generated_modulesagemaker_automl, nơi lưu trữ tất cả các mô-đun Python và tập lệnh cần thiết để chạy sổ ghi chép. Các bước chuyển đổi tính năng khác nhau như nhập, chia tỷ lệ và PCA được lưu dưới dạng generated_modules/candidate_data_processors/dpp*.py.

Autopilot tạo ra ba mô hình khác nhau dựa trên XGBoost, người học tuyến tính và thuật toán perceptron (MLP) nhiều lớp. Một đường dẫn ứng viên bao gồm một trong các tùy chọn chuyển đổi tính năng, được gọi là data_transformervà một thuật toán. Đường ống là một từ điển Python và có thể được định nghĩa như sau:

candidate1 = { "data_transformer": { "name": "dpp5", "training_resource_config": { "instance_type": "ml.m5.4xlarge", "instance_count": 1, "volume_size_in_gb": 50 }, "transform_resource_config": { "instance_type": "ml.m5.4xlarge", "instance_count": 1, }, "transforms_label": True, "transformed_data_format": "application/x-recordio-protobuf", "sparse_encoding": True }, "algorithm": { "name": "xgboost", "training_resource_config": { "instance_type": "ml.m5.4xlarge", "instance_count": 1, }, }
}

Trong ví dụ này, đường ống chuyển đổi dữ liệu đào tạo theo tập lệnh trong generated_modules/candidate_data_processors/dpp5.py và xây dựng mô hình XGBoost. Đây là nơi Autopilot cung cấp quyền kiểm soát hoàn toàn cho nhà khoa học dữ liệu, họ có thể chọn các bước chuyển đổi tính năng và lựa chọn mô hình được tạo tự động hoặc xây dựng tổ hợp của riêng họ.

Bây giờ bạn có thể thêm đường dẫn vào một nhóm để Autopilot chạy thử nghiệm như sau:

from sagemaker_automl import AutoMLInteractiveRunner, AutoMLLocalCandidate automl_interactive_runner = AutoMLInteractiveRunner(AUTOML_LOCAL_RUN_CONFIG)
automl_interactive_runner.select_candidate(candidate1)

Đây là một bước quan trọng trong đó bạn có thể quyết định chỉ giữ lại một nhóm nhỏ các ứng cử viên do Autopilot đề xuất, dựa trên kiến ​​thức chuyên môn về chủ đề, để giảm tổng thời gian chạy. Hiện tại, hãy giữ lại tất cả các đề xuất Autopilot mà bạn có thể liệt kê như sau:

automl_interactive_runner.display_candidates()

tên ứng viên Thuật toán Máy biến áp tính năng
dpp0-xgboost xgboost dpp0.py
dpp1-xgboost xgboost dpp1.py
dpp2-linear-learning người học tuyến tính dpp2.py
dpp3-xgboost xgboost dpp3.py
dpp4-xgboost xgboost dpp4.py
dpp5-xgboost xgboost dpp5.py
dpp6-mlp mlp dpp6.py

Thử nghiệm Autopilot đầy đủ được thực hiện trong hai phần. Đầu tiên, bạn cần chạy các công việc chuyển đổi dữ liệu:

automl_interactive_runner.fit_data_transformers(parallel_jobs=7)

Bước này sẽ hoàn thành trong khoảng 30 phút đối với tất cả các ứng viên, nếu bạn không thực hiện thêm sửa đổi nào đối với dpp*.py các tập tin.

Bước tiếp theo là xây dựng bộ mô hình tốt nhất bằng cách điều chỉnh các siêu tham số cho các thuật toán tương ứng. Các siêu tham số thường được chia thành hai phần: tĩnh và điều chỉnh được. Các siêu tham số tĩnh không thay đổi trong suốt quá trình thử nghiệm đối với tất cả các ứng viên có cùng một thuật toán. Các siêu tham số này được chuyển đến thử nghiệm như một từ điển. Nếu bạn chọn mô hình XGBoost tốt nhất bằng cách tối đa hóa AUC từ ba vòng của sơ đồ xác thực chéo năm lần, từ điển sẽ giống như mã sau:

{ 'objective': 'binary:logistic', 'eval_metric': 'auc', '_kfold': 5, '_num_cv_round': 3,
} 

Đối với các siêu tham số có thể điều chỉnh, bạn cần chuyển một từ điển khác có phạm vi và kiểu chia tỷ lệ:

{ 'num_round': IntegerParameter(64, 1024, scaling_type='Logarithmic'), 'max_depth': IntegerParameter(2, 8, scaling_type='Logarithmic'), 'eta': ContinuousParameter(1e-3, 1.0, scaling_type='Logarithmic'),
... }

Bộ siêu tham số hoàn chỉnh có sẵn trong mangrove-2013.ipynb máy tính xách tay.

Để tạo một thử nghiệm trong đó tất cả bảy ứng cử viên có thể được kiểm tra song song, hãy tạo một bộ điều chỉnh HPO đa thuật toán:

multi_algo_tuning_parameters = automl_interactive_runner.prepare_multi_algo_parameters( objective_metrics=ALGORITHM_OBJECTIVE_METRICS, static_hyperparameters=STATIC_HYPERPARAMETERS, hyperparameters_search_ranges=ALGORITHM_TUNABLE_HYPERPARAMETER_RANGES)

Các chỉ số mục tiêu được xác định độc lập cho từng thuật toán:

ALGORITHM_OBJECTIVE_METRICS = { 'xgboost': 'validation:auc', 'linear-learner': 'validation:roc_auc_score', 'mlp': 'validation:roc_auc',
}

Việc thử tất cả các giá trị có thể có của siêu tham số cho tất cả các thử nghiệm là lãng phí; bạn có thể áp dụng chiến lược Bayes để tạo bộ chỉnh HPO:

multi_algo_tuning_inputs = automl_interactive_runner.prepare_multi_algo_inputs()
ase_tuning_job_name = "{}-tuning".format(AUTOML_LOCAL_RUN_CONFIG.local_automl_job_name) tuner = HyperparameterTuner.create( base_tuning_job_name=base_tuning_job_name, strategy='Bayesian', objective_type='Maximize', max_parallel_jobs=10, max_jobs=50, **multi_algo_tuning_parameters,
)

Trong cài đặt mặc định, Autopilot chọn 250 công việc trong bộ chỉnh để chọn mô hình tốt nhất. Đối với trường hợp sử dụng này, chỉ cần thiết lập max_jobs=50 để tiết kiệm thời gian và tài nguyên mà không bị phạt đáng kể nào về việc chọn bộ siêu tham số tốt nhất. Cuối cùng, gửi công việc HPO như sau:

tuner.fit(inputs=multi_algo_tuning_inputs, include_cls_metadata=None)

Quá trình này mất khoảng 80 phút trên các phiên bản ml.m5.4xlarge. Bạn có thể theo dõi tiến trình trên bảng điều khiển SageMaker bằng cách chọn Công việc điều chỉnh siêu tham số Dưới Hội thảo trong khung điều hướng.

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Bạn có thể hình dung một loạt các thông tin hữu ích, bao gồm hiệu suất của từng ứng viên, bằng cách chọn tên của công việc đang thực hiện.

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Cuối cùng, so sánh hiệu suất mô hình của các ứng cử viên tốt nhất như sau:

from sagemaker.analytics import HyperparameterTuningJobAnalytics SAGEMAKER_SESSION = AUTOML_LOCAL_RUN_CONFIG.sagemaker_session
SAGEMAKER_ROLE = AUTOML_LOCAL_RUN_CONFIG.role tuner_analytics = HyperparameterTuningJobAnalytics( tuner.latest_tuning_job.name, sagemaker_session=SAGEMAKER_SESSION) df_tuning_job_analytics = tuner_analytics.dataframe() df_tuning_job_analytics.sort_values( by=['FinalObjectiveValue'], inplace=True, ascending=False if tuner.objective_type == "Maximize" else True) # select the columns to display and rename
select_columns = ["TrainingJobDefinitionName", "FinalObjectiveValue", "TrainingElapsedTimeSeconds"]
rename_columns = { "TrainingJobDefinitionName": "candidate", "FinalObjectiveValue": "AUC", "TrainingElapsedTimeSeconds": "run_time" } # Show top 5 model performances
df_tuning_job_analytics.rename(columns=rename_columns)[rename_columns.values()].set_index("candidate").head(5)

ứng cử viên AUC run_time (các)
dpp6-mlp 0.96008 2711.0
dpp4-xgboost 0.95236 385.0
dpp3-xgboost 0.95095 202.0
dpp4-xgboost 0.95069 458.0
dpp3-xgboost 0.95015 361.0

Mô hình hoạt động hàng đầu dựa trên MLP, mặc dù tốt hơn một chút so với các mô hình XGBoost với nhiều lựa chọn về các bước xử lý dữ liệu, nhưng cũng mất nhiều thời gian hơn để đào tạo. Bạn có thể tìm thấy các chi tiết quan trọng về đào tạo mô hình MLP, bao gồm sự kết hợp của các siêu tham số được sử dụng, như sau:

df_tuning_job_analytics.loc[df_tuning_job_analytics.TrainingJobName==best_training_job].T.dropna() 

Tên công việc đào tạo mangrove-2-notebook–211021-2016-012-500271c8
Đào TạoTình Trạng Công Việc Hoàn thành
Giá trị mục tiêu cuối cùng 0.96008
Thời gian bắt đầu đào tạo 2021-10-21 20:22:55+00:00
Đào tạoEndTime 2021-10-21 21:08:06+00:00
Đào tạoThời gian đã trôi quaGiây 2711
Đào tạoCông việcĐịnh nghĩaTên dpp6-mlp
bỏ học_prob 0.415778
embed_size_factor 0.849226
lớp 256
tỷ lệ học 0.00013862
mini_batch_size 317
dạng kết nối cho ăn
trọng lượng_phân hủy 1.29323e-12

Tạo một đường dẫn suy luận

Để tạo ra suy luận trên dữ liệu mới, bạn phải xây dựng một đường dẫn suy luận trên SageMaker để lưu trữ mô hình tốt nhất có thể được gọi sau này để tạo ra suy luận. Mô hình đường ống SageMaker yêu cầu ba vùng chứa làm thành phần của nó: biến đổi dữ liệu, thuật toán và chuyển đổi nhãn nghịch đảo (nếu các dự đoán số cần được ánh xạ tới các nhãn không phải số). Để ngắn gọn, chỉ một phần của mã bắt buộc được hiển thị trong đoạn mã sau; mã hoàn chỉnh có sẵn trong mangrove-2013.ipynb máy tính xách tay:

from sagemaker.estimator import Estimator
from sagemaker import PipelineModel
from sagemaker_automl import select_inference_output …
# Final pipeline model model_containers = [best_data_transformer_model, best_algo_model]
if best_candidate.transforms_label: model_containers.append(best_candidate.get_data_transformer_model( transform_mode="inverse-label-transform", role=SAGEMAKER_ROLE, sagemaker_session=SAGEMAKER_SESSION)) # select the output type
model_containers = select_inference_output("BinaryClassification", model_containers, output_keys=['predicted_label'])

Sau khi các vùng chứa mô hình được tạo, bạn có thể xây dựng và triển khai đường ống như sau:

from sagemaker import PipelineModel pipeline_model = PipelineModel( name=f"mangrove-automl-2013", role=SAGEMAKER_ROLE, models=model_containers, vpc_config=AUTOML_LOCAL_RUN_CONFIG.vpc_config) pipeline_model.deploy(initial_instance_count=1, instance_type='ml.m5.2xlarge', endpoint_name=pipeline_model.name, wait=True)

Quá trình triển khai điểm cuối mất khoảng 10 phút để hoàn thành.

Nhận suy luận về tập dữ liệu thử nghiệm bằng cách sử dụng điểm cuối

Sau khi điểm cuối được triển khai, bạn có thể gọi nó với một khối lượng các tính năng B1 – B7 để phân loại từng pixel trong hình ảnh là rừng ngập mặn (1) hoặc khác (0):

import boto3
sm_runtime = boto3.client('runtime.sagemaker') pred_labels = []
with open(local_download, 'r') as f: for i, row in enumerate(f): payload = row.rstrip('n') x = sm_runtime.invoke_endpoint(EndpointName=inf_endpt, ContentType="text/csv", Body=payload) pred_labels.append(int(x['Body'].read().decode().strip()))

Chi tiết đầy đủ về xử lý hậu xử lý các dự đoán của mô hình để đánh giá và vẽ biểu đồ có sẵn trong notebooks/model_performance.ipynb.

Nhận suy luận trên tập dữ liệu thử nghiệm bằng cách sử dụng biến đổi hàng loạt

Bây giờ bạn đã tạo mô hình hoạt động tốt nhất với Autopilot, chúng ta có thể sử dụng mô hình để suy luận. Để có được suy luận trên các tập dữ liệu lớn, sẽ hiệu quả hơn nếu sử dụng biến đổi hàng loạt. Hãy tạo dự đoán trên toàn bộ tập dữ liệu (đào tạo và kiểm tra) và nối kết quả vào các tính năng, để chúng tôi có thể thực hiện phân tích sâu hơn, chẳng hạn như kiểm tra các dự đoán so với thực tế và sự phân bố các tính năng giữa các lớp được dự đoán.

Đầu tiên, chúng tôi tạo một tệp kê khai trong Amazon S3 trỏ đến các vị trí của dữ liệu đào tạo và kiểm tra từ các bước xử lý dữ liệu trước đó:

import boto3
data_bucket = <Name of the S3 bucket that has the training data>
prefix = "LANDSAT_LC08_C01_T1_SR/Year2013"
manifest = "[{{"prefix": "s3://{}/{}/"}},n"train.csv",n"test.csv"n]".format(data_bucket, prefix)
s3_client = boto3.client('s3')
s3_client.put_object(Body=manifest, Bucket=data_bucket, Key=f"{prefix}/data.manifest")

Bây giờ chúng ta có thể tạo một công việc chuyển đổi hàng loạt. Bởi vì tập dữ liệu kiểm tra và đào tạo đầu vào của chúng tôi có label là cột cuối cùng, chúng ta cần bỏ nó trong quá trình suy luận. Để làm được điều đó, chúng tôi vượt qua InputFilter trong DataProcessing tranh luận. Mật mã "$[:-2]" cho biết để bỏ cột cuối cùng. Kết quả dự đoán sau đó được kết hợp với dữ liệu nguồn để phân tích thêm.

Trong đoạn mã sau, chúng tôi xây dựng các đối số cho công việc chuyển đổi hàng loạt và sau đó chuyển đến create_transform_job chức năng:

from time import gmtime, strftime batch_job_name = "Batch-Transform-" + strftime("%Y-%m-%d-%H-%M-%S", gmtime())
output_location = "s3://{}/{}/batch_output/{}".format(data_bucket, prefix, batch_job_name)
input_location = "s3://{}/{}/data.manifest".format(data_bucket, prefix) request = { "TransformJobName": batch_job_name, "ModelName": pipeline_model.name, "TransformOutput": { "S3OutputPath": output_location, "Accept": "text/csv", "AssembleWith": "Line", }, "TransformInput": { "DataSource": {"S3DataSource": {"S3DataType": "ManifestFile", "S3Uri": input_location}}, "ContentType": "text/csv", "SplitType": "Line", "CompressionType": "None", }, "TransformResources": {"InstanceType": "ml.m4.xlarge", "InstanceCount": 1}, "DataProcessing": {"InputFilter": "$[:-2]", "JoinSource": "Input"}
} sagemaker = boto3.client("sagemaker")
sagemaker.create_transform_job(**request)
print("Created Transform job with name: ", batch_job_name)

Bạn có thể theo dõi trạng thái của công việc trên bảng điều khiển SageMaker.

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Hình dung hiệu suất mô hình

Giờ đây, bạn có thể hình dung hiệu suất của mô hình tốt nhất trên tập dữ liệu thử nghiệm, bao gồm các khu vực từ Ấn Độ, Myanmar, Cuba và Việt Nam, dưới dạng ma trận nhầm lẫn. Mô hình có giá trị thu hồi cao đối với các pixel đại diện cho rừng ngập mặn, nhưng chỉ có độ chính xác khoảng 75%. Độ chính xác của các pixel không phải rừng ngập mặn hoặc các pixel khác là 99% với độ thu hồi 85%. Bạn có thể điều chỉnh giới hạn xác suất của các dự đoán mô hình để điều chỉnh các giá trị tương ứng tùy thuộc vào trường hợp sử dụng cụ thể.

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Cần lưu ý rằng kết quả là một sự cải thiện đáng kể so với mô hình smileCart tích hợp sẵn.

Trực quan hóa các dự đoán của mô hình

Cuối cùng, rất hữu ích khi quan sát hiệu suất của mô hình trên các vùng cụ thể trên bản đồ. Trong hình ảnh sau đây, khu vực rừng ngập mặn ở biên giới Ấn Độ-Bangladesh được mô tả bằng màu đỏ. Các điểm được lấy mẫu từ bản vá hình ảnh Landsat thuộc tập dữ liệu thử nghiệm được chồng lên vùng, trong đó mỗi điểm là một pixel mà mô hình xác định là đại diện cho rừng ngập mặn. Các điểm màu xanh lam được mô hình phân loại chính xác, trong khi các điểm màu đen thể hiện sai lầm của mô hình.

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Hình ảnh sau đây chỉ hiển thị các điểm mà mô hình dự đoán không phải là rừng ngập mặn, với cách phối màu giống như ví dụ trước. Đường viền màu xám là một phần của bản vá Landsat không bao gồm bất kỳ rừng ngập mặn nào. Như thể hiện rõ ràng từ hình ảnh, mô hình không mắc bất kỳ sai lầm nào khi phân loại các điểm trên mặt nước, nhưng phải đối mặt với một thách thức khi phân biệt các điểm ảnh đại diện cho rừng ngập mặn với các điểm ảnh đại diện cho tán lá thông thường.

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Hình ảnh sau đây cho thấy mô hình hoạt động trên vùng rừng ngập mặn Myanmar.

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Trong hình ảnh sau đây, mô hình thực hiện công việc xác định các pixel rừng ngập mặn tốt hơn.

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Làm sạch

Điểm cuối suy luận SageMaker tiếp tục phải chịu chi phí nếu vẫn chạy. Xóa điểm cuối như sau khi bạn hoàn tất:

sagemaker.delete_endpoint(EndpointName=pipeline_model.name)

Kết luận

Loạt bài đăng này đã cung cấp một khuôn khổ end-to-end cho các nhà khoa học dữ liệu để giải quyết các vấn đề về GIS. Phần 1 đã cho thấy quy trình ETL và một cách thuận tiện để tương tác trực quan với dữ liệu. Phần 2 đã trình bày cách sử dụng Autopilot để tự động hóa việc xây dựng bộ phân loại rừng ngập mặn tùy chỉnh.

Bạn có thể sử dụng khuôn khổ này để khám phá các tập dữ liệu vệ tinh mới có chứa một tập hợp các dải phong phú hơn hữu ích cho việc phân loại rừng ngập mặn và khám phá kỹ thuật tính năng bằng cách kết hợp kiến ​​thức miền.


Về các tác giả

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái. Andrei Ivanovic là sinh viên sắp tốt nghiệp Thạc sĩ Khoa học Máy tính tại Đại học Toronto và gần đây đã tốt nghiệp chương trình Khoa học Kỹ thuật tại Đại học Toronto, chuyên ngành Trí tuệ Máy với bằng Kỹ thuật viên Người máy / Cơ điện tử. Anh ấy quan tâm đến thị giác máy tính, học sâu và người máy. Anh ấy đã làm công việc được trình bày trong bài đăng này trong thời gian thực tập mùa hè tại Amazon.

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.David Đông là Nhà khoa học dữ liệu tại Amazon Web Services.

Xác định rừng ngập mặn bằng các tính năng hình ảnh vệ tinh bằng Amazon SageMaker Studio và Amazon SageMaker Autopilot – Phần 2 PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Arkajyoti Misra là Nhà khoa học dữ liệu tại Amazon LastMile Transportation. Anh đam mê ứng dụng kỹ thuật Thị giác máy tính để giải quyết các vấn đề giúp ích cho trái đất. Anh ấy thích làm việc với các tổ chức phi lợi nhuận và là thành viên sáng lập của ekipi.org.

Dấu thời gian:

Thêm từ Học máy AWS