Dự đoán bằng TensorFlow và Nền tảng AI trên đám mây

TensorFlow là một nền tảng máy học nguồn mở hỗ trợ các phương pháp máy học nâng cao như học sâu. Trang này mô tả các tính năng cụ thể của TensorFlow trong Earth Engine. Mặc dù các mô hình TensorFlow được phát triển và huấn luyện bên ngoài Earth Engine, nhưng Earth Engine API cung cấp các phương thức để xuất dữ liệu huấn luyện và kiểm thử ở định dạng TFRecord cũng như nhập/xuất hình ảnh ở định dạng TFRecord. Hãy xem trang ví dụ về TensorFlow để biết thêm thông tin về cách phát triển quy trình sử dụng TensorFlow với dữ liệu từ Earth Engine. Hãy xem trang TFRecord để tìm hiểu thêm về cách Earth Engine ghi dữ liệu vào các tệp TFRecord.

ee.Model

Gói ee.Model xử lý hoạt động tương tác với các mô hình học máy được hỗ trợ bởi TensorFlow.

Tương tác với các mô hình được lưu trữ trên AI Platform

Bạn có thể tạo một thực thể ee.Model mới bằng ee.Model.fromAiPlatformPredictor(). Đây là đối tượng ee.Model đóng gói dữ liệu Earth Engine thành tensor, chuyển tiếp các tensor đó dưới dạng yêu cầu dự đoán đến Google AI Platform, sau đó tự động kết hợp lại các phản hồi thành các loại dữ liệu Earth Engine. Xin lưu ý rằng tuỳ thuộc vào kích thước và độ phức tạp của mô hình cũng như dữ liệu đầu vào, bạn nên điều chỉnh kích thước nút tối thiểu của mô hình trên Nền tảng AI để phù hợp với số lượng lớn dự đoán.

Earth Engine yêu cầu các mô hình Nền tảng AI sử dụng định dạng SavedModel của TensorFlow. Trước khi một mô hình được lưu trữ có thể tương tác với Earth Engine, đầu vào/đầu ra của mô hình đó cần phải tương thích với định dạng trao đổi TensorProto, cụ thể là các TensorProto được chuyển đổi tuần tự ở cơ sở 64. Để giúp bạn thực hiện việc này dễ dàng hơn, Earth Engine CLI có lệnh model prepare giúp gói một SavedModel hiện có trong các thao tác bắt buộc để chuyển đổi định dạng đầu vào/đầu ra.

Để sử dụng mô hình bằng ee.Model.fromAiPlatformPredictor(), bạn phải có đủ quyền để sử dụng mô hình đó. Cụ thể, bạn (hoặc bất kỳ ai sử dụng mô hình) cần có ít nhất Vai trò người dùng mô hình công cụ học máy. Bạn có thể kiểm tra và thiết lập quyền cho mô hình trên trang mô hình của Cloud Console.

Khu vực

Bạn nên sử dụng các điểm cuối theo khu vực cho mô hình, chỉ định khu vực tại thời điểm tạo mô hình, tạo phiên bản và trong ee.Model.fromAiPlatformPredictor(). Bất kỳ khu vực nào cũng sẽ hoạt động (đừng sử dụng toàn cục), nhưng bạn nên dùng us-central1. Không chỉ định tham số REGIONS. Nếu bạn đang tạo mô hình từ Cloud Console, hãy nhớ đánh dấu vào hộp theo khu vực.

Chi phí

Dự đoán hình ảnh

Sử dụng model.predictImage() để đưa ra dự đoán về ee.Image bằng mô hình được lưu trữ. Loại dữ liệu trả về của predictImage()ee.Image. Bạn có thể thêm loại dữ liệu này vào bản đồ, sử dụng trong các phép tính khác, xuất dữ liệu, v.v. Earth Engine sẽ tự động xếp kề các dải đầu vào và điều chỉnh phép chiếu đầu ra cho các thay đổi về tỷ lệ và xếp kề nhiều lần nếu cần. (Xem tài liệu về TFRecord để biết thêm thông tin về cách hoạt động của tính năng xếp kề). Xin lưu ý rằng Earth Engine sẽ luôn chuyển tiếp tensor 3D đến mô hình của bạn ngay cả khi các dải là đại lượng vô hướng (phương diện cuối cùng sẽ là 1).

Hầu hết các mô hình tích chập đều có một phép chiếu đầu vào cố định (của dữ liệu mà mô hình được huấn luyện). Trong trường hợp này, hãy đặt tham số fixInputProj thành true trong lệnh gọi đến ee.Model.fromAiPlatformPredictor(). Khi trực quan hoá kết quả dự đoán, hãy thận trọng khi thu nhỏ một mô hình có phép chiếu đầu vào cố định. Lý do cũng giống như mô tả ở đây. Cụ thể, việc thu phóng đến một phạm vi không gian lớn có thể dẫn đến việc yêu cầu quá nhiều dữ liệu và có thể biểu hiện dưới dạng việc làm chậm hoặc bị Nền tảng AI từ chối.