Phát triển giao diện web để tương tác với mô hình máy học (ML) là một công việc tẻ nhạt. Với Hợp lý hóa, việc phát triển các ứng dụng demo cho giải pháp ML của bạn thật dễ dàng. Hợp lý hóa là một thư viện Python nguồn mở giúp dễ dàng tạo và chia sẻ các ứng dụng web cho ML và khoa học dữ liệu. Là một nhà khoa học dữ liệu, bạn có thể muốn giới thiệu những phát hiện của mình cho một tập dữ liệu hoặc triển khai một mô hình đã được đào tạo. Các ứng dụng Streamlit rất hữu ích để trình bày tiến độ dự án cho nhóm của bạn, thu thập và chia sẻ thông tin chi tiết với người quản lý của bạn và thậm chí nhận phản hồi từ khách hàng.
Với môi trường phát triển tích hợp (IDE) của Xưởng sản xuất Amazon SageMaker với Phòng thí nghiệm Jupyter 3, chúng tôi có thể xây dựng, chạy và cung cấp các ứng dụng web Streamlit từ bên trong cùng môi trường đó cho các mục đích phát triển. Bài đăng này phác thảo cách xây dựng và lưu trữ các ứng dụng Streamlit trong Studio theo cách an toàn và có thể tái sản xuất mà không tốn thời gian phát triển giao diện người dùng. Như một ví dụ, chúng tôi sử dụng một tùy chỉnh Nhận thức lại Amazon bản demo, sẽ chú thích và gắn nhãn cho hình ảnh đã tải lên. Đây sẽ là điểm bắt đầu và có thể được khái quát hóa để giới thiệu bất kỳ mô hình ML tùy chỉnh nào. Mã cho blog này có thể được tìm thấy trong này Kho GitHub.
Tổng quan về giải pháp
Sau đây là sơ đồ kiến trúc của giải pháp của chúng tôi.
Trước tiên, người dùng truy cập Studio thông qua trình duyệt. Máy chủ Jupyter được liên kết với hồ sơ người dùng chạy bên trong phiên bản Studio Amazon Elastic Compute Cloud (Amazon EC2). Bên trong phiên bản Studio EC2 tồn tại mã ví dụ và danh sách phụ thuộc. Người dùng có thể chạy ứng dụng Streamlit, app.py, trong thiết bị đầu cuối hệ thống. Studio chạy Giao diện người dùng JupyterLab trong Máy chủ Jupyter, được tách rời khỏi nhân máy tính xách tay. Máy chủ Jupyter đi kèm với một proxy và cho phép chúng tôi truy cập ứng dụng Streamlit của mình. Khi ứng dụng đang chạy, người dùng có thể bắt đầu một phiên riêng biệt thông qua AWS Jupyter Proxy bằng cách điều chỉnh URL.
Từ khía cạnh bảo mật, AWS Jupyter Proxy được mở rộng bằng xác thực AWS. Miễn là người dùng có quyền truy cập vào tài khoản AWS, ID miền Studio và hồ sơ người dùng thì họ có thể truy cập liên kết.
Tạo Studio bằng JupyterLab 3.0
Studio với JupyterLab 3 phải được cài đặt để giải pháp này hoạt động. Các phiên bản cũ hơn có thể không hỗ trợ các tính năng được nêu trong bài đăng này. Để biết thêm thông tin, hãy tham khảo Amazon SageMaker Studio và SageMaker Notebook Instance hiện đi kèm với máy tính xách tay JupyterLab 3 để tăng năng suất của nhà phát triển. Theo mặc định, Studio đi kèm với JupyterLab 3. Bạn nên kiểm tra phiên bản và thay đổi nếu chạy phiên bản cũ hơn. Để biết thêm thông tin, hãy tham khảo Phiên bản JupyterLab.
Bạn có thể thiết lập Studio bằng cách sử dụng Bộ công cụ phát triển đám mây AWS (AWS CDK); để biết thêm thông tin, hãy tham khảo Thiết lập Amazon SageMaker Studio với Jupyter Lab 3 bằng AWS CDK. Ngoài ra, bạn có thể sử dụng bảng điều khiển SageMaker để thay đổi cài đặt miền. Hoàn thành các bước sau:
- Trên bảng điều khiển SageMaker, chọn Tên miền trong khung điều hướng.
- Chọn tên miền của bạn và chọn Chỉnh sửa.
- Trong Phiên bản Jupyter Lab mặc định, đảm bảo rằng phiên bản được đặt thành Phòng thí nghiệm Jupyter 3.0.
(Tùy chọn) Tạo không gian chung
Chúng ta có thể sử dụng bảng điều khiển SageMaker hoặc AWS CLI để thêm hỗ trợ cho không gian dùng chung vào Miền hiện có bằng cách làm theo các bước trong tài liệu hoặc trong blog này. Tạo không gian dùng chung trong AWS có các lợi ích sau:
- Cộng tác: Không gian dùng chung cho phép nhiều người dùng hoặc nhóm cộng tác trong một dự án hoặc tập hợp tài nguyên mà không phải sao chép dữ liệu hoặc cơ sở hạ tầng.
- Tiết kiệm chi phí: Thay vì mỗi người dùng hoặc nhóm tạo và quản lý tài nguyên của riêng họ, không gian dùng chung có thể tiết kiệm chi phí hơn vì tài nguyên có thể được tổng hợp và chia sẻ giữa nhiều người dùng.
- Quản lý đơn giản: Với không gian dùng chung, quản trị viên có thể quản lý tài nguyên một cách tập trung, thay vì phải quản lý nhiều phiên bản của cùng một tài nguyên cho từng người dùng hoặc nhóm.
- Khả năng mở rộng được cải thiện: Không gian dùng chung có thể dễ dàng tăng hoặc giảm quy mô hơn để đáp ứng nhu cầu thay đổi, vì tài nguyên có thể được phân bổ linh hoạt để đáp ứng nhu cầu của những người dùng hoặc nhóm khác nhau.
- Tăng cường bảo mật: Bằng cách tập trung các tài nguyên trong một không gian dùng chung, bảo mật có thể được cải thiện, vì các biện pháp kiểm soát và giám sát truy cập có thể được áp dụng dễ dàng và nhất quán hơn.
Cài đặt các phụ thuộc và sao chép ví dụ trên Studio
Tiếp theo, chúng tôi khởi chạy Studio và mở thiết bị đầu cuối hệ thống. Chúng tôi sử dụng SageMaker IDE để sao chép ví dụ của chúng tôi và thiết bị đầu cuối hệ thống để khởi chạy ứng dụng của chúng tôi. Mã cho blog này có thể được tìm thấy trong này Kho GitHub. Chúng tôi bắt đầu với việc nhân bản kho lưu trữ:
Tiếp theo, chúng tôi mở Terminal hệ thống.
Sau khi được sao chép, trong thiết bị đầu cuối hệ thống, hãy cài đặt các phụ thuộc để chạy mã ví dụ của chúng tôi bằng cách chạy lệnh sau. Điều này trước tiên sẽ cài đặt các phụ thuộc bằng cách chạy pip install --no-cache-dir -r requirements.txt
. Các no-cache-dir
cờ sẽ vô hiệu hóa bộ đệm. Bộ nhớ đệm giúp lưu trữ các tệp cài đặt (.whl
) của các mô-đun mà bạn cài đặt thông qua pip. Nó cũng lưu trữ các tập tin nguồn (.tar.gz
) để tránh phải tải lại khi chúng chưa hết hạn. Nếu không có dung lượng trên ổ cứng của chúng tôi hoặc nếu chúng tôi muốn giữ hình ảnh Docker càng nhỏ càng tốt, chúng tôi có thể sử dụng cờ này để lệnh chạy đến khi hoàn thành với mức sử dụng bộ nhớ tối thiểu. Tiếp theo, tập lệnh sẽ cài đặt các gói iproute
và jq
, sẽ được sử dụng trong bước sau.sh setup.sh
Chạy Streamlit Demo và tạo liên kết có thể chia sẻ
Để xác minh rằng tất cả các phụ thuộc đã được cài đặt thành công và để xem bản trình diễn Amazon Rekognition, hãy chạy lệnh sau:
Số cổng lưu trữ ứng dụng sẽ được hiển thị.
Lưu ý rằng trong khi phát triển, có thể hữu ích nếu tự động chạy lại tập lệnh khi app.py
được sửa đổi trên đĩa. Để làm, vì vậy chúng tôi có thể sửa đổi runOnSave tùy chọn cấu hình bằng cách thêm --server.runOnSave true
gắn cờ cho lệnh của chúng tôi:
Ảnh chụp màn hình sau đây cho thấy một ví dụ về những gì sẽ được hiển thị trên thiết bị đầu cuối.
Từ ví dụ trên, chúng tôi thấy số cổng, ID miền và URL studio mà chúng tôi đang chạy ứng dụng của mình. Cuối cùng, chúng ta có thể thấy URL mà chúng ta cần sử dụng để truy cập ứng dụng streamlit của mình. Tập lệnh này đang sửa đổi URL Studio, thay thế lab?
với proxy/[PORT NUMBER]/
. Trình diễn phát hiện đối tượng Rekognition sẽ được hiển thị, như thể hiện trong ảnh chụp màn hình sau.
Giờ đây, chúng tôi đã có ứng dụng Streamlit hoạt động, chúng tôi có thể chia sẻ URL này với bất kỳ ai có quyền truy cập vào ID miền Studio này và hồ sơ người dùng. Để chia sẻ các bản trình diễn này dễ dàng hơn, chúng tôi có thể kiểm tra trạng thái và liệt kê tất cả các ứng dụng streamlit đang chạy bằng cách chạy lệnh sau: sh status.sh
Chúng tôi có thể sử dụng các tập lệnh vòng đời hoặc không gian dùng chung để mở rộng công việc này. Thay vì chạy các tập lệnh shell theo cách thủ công và cài đặt các phụ thuộc, hãy sử dụng kịch bản vòng đời để đơn giản hóa quá trình này. Để phát triển và mở rộng ứng dụng này với một nhóm và chia sẻ bảng điều khiển với các đồng nghiệp, hãy sử dụng không gian chung. Bằng cách tạo không gian dùng chung trong Studio, người dùng có thể cộng tác trong không gian dùng chung để phát triển ứng dụng Streamlit trong thời gian thực. Tất cả tài nguyên trong không gian dùng chung đều được lọc và gắn thẻ, giúp dễ dàng tập trung vào các dự án ML và quản lý chi phí. Tham khảo đoạn mã sau để tạo các ứng dụng của riêng bạn trong Studio.
Dọn dẹp
Khi chúng tôi sử dụng xong ứng dụng, chúng tôi muốn giải phóng các cổng nghe. Để có được tất cả các quy trình đang chạy streamlit và giải phóng chúng để sử dụng, chúng ta có thể chạy tập lệnh dọn dẹp của mình: sh cleanup.sh
Kết luận
Trong bài đăng này, chúng tôi đã trình bày một ví dụ toàn diện về lưu trữ bản trình diễn Streamlit cho tác vụ phát hiện đối tượng bằng Amazon Rekognition. Chúng tôi đã trình bày chi tiết các động lực để xây dựng các ứng dụng web nhanh, các cân nhắc về bảo mật và thiết lập cần thiết để chạy ứng dụng Streamlit của riêng chúng tôi trong Studio. Cuối cùng, chúng tôi đã sửa đổi mẫu URL trong trình duyệt web của mình để bắt đầu một phiên riêng biệt thông qua AWS Jupyter Proxy.
Bản trình diễn này cho phép bạn tải lên bất kỳ hình ảnh nào và trực quan hóa kết quả đầu ra từ Amazon Rekognition. Kết quả cũng được xử lý và bạn có thể tải xuống tệp CSV có tất cả các hộp giới hạn thông qua ứng dụng. Bạn có thể mở rộng công việc này để chú thích và gắn nhãn cho tập dữ liệu của riêng mình hoặc sửa đổi mã để hiển thị mô hình tùy chỉnh của mình!
Về các tác giả
Dipika Khullar là một Kỹ sư ML trong Phòng thí nghiệm giải pháp Amazon ML. Cô ấy giúp khách hàng tích hợp các giải pháp ML để giải quyết các vấn đề kinh doanh của họ. Gần đây nhất, cô ấy đã xây dựng các quy trình đào tạo và suy luận cho các khách hàng truyền thông và các mô hình dự đoán để tiếp thị.
Marcelo Aberle là một Kỹ sư ML trong tổ chức AWS AI. Anh ấy đang dẫn đầu các nỗ lực MLOps tại Phòng thí nghiệm giải pháp Amazon ML, giúp khách hàng thiết kế và triển khai các hệ thống ML có thể mở rộng. Nhiệm vụ của anh ấy là hướng dẫn khách hàng trong hành trình ML doanh nghiệp của họ và đẩy nhanh lộ trình ML của họ đến sản xuất.
Yash Shah là Giám đốc Khoa học trong Phòng thí nghiệm giải pháp Amazon ML. Anh ấy và nhóm các nhà khoa học ứng dụng và kỹ sư ML của mình làm việc trong nhiều trường hợp sử dụng ML từ chăm sóc sức khỏe, thể thao, ô tô và sản xuất.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- Platoblockchain. Web3 Metaverse Intelligence. Khuếch đại kiến thức. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/machine-learning/build-streamlit-apps-in-amazon-sagemaker-studio/
- :là
- $ LÊN
- 100
- 7
- a
- ở trên
- đẩy nhanh tiến độ
- truy cập
- Tài khoản
- ngang qua
- quản trị
- AI
- Tất cả
- phân bổ
- cho phép
- đàn bà gan dạ
- Amazon EC2
- Nhận thức lại Amazon
- Amazon SageMaker
- Xưởng sản xuất Amazon SageMaker
- và
- bất kỳ ai
- ứng dụng
- các ứng dụng
- áp dụng
- ứng dụng
- kiến trúc
- LÀ
- AS
- khía cạnh
- liên kết
- At
- Xác thực
- tự động
- ô tô
- AWS
- BE
- Lợi ích
- Blog
- tăng
- hộp
- trình duyệt
- xây dựng
- Xây dựng
- xây dựng
- kinh doanh
- by
- Bộ nhớ cache
- CAN
- trường hợp
- thay đổi
- thay đổi
- kiểm tra
- Chọn
- đám mây
- mã
- hợp tác
- Đến
- hoàn thành
- hoàn thành
- Tính
- sự cân nhắc
- An ủi
- điều khiển
- chi phí-hiệu quả
- Chi phí
- tạo
- Tạo
- khách hàng
- khách hàng
- dữ liệu
- khoa học dữ liệu
- nhà khoa học dữ liệu
- Mặc định
- nhu cầu
- Demo
- triển khai
- Thiết kế
- chi tiết
- Phát hiện
- phát triển
- Nhà phát triển
- phát triển
- Phát triển
- khác nhau
- phu bến tàu
- miền
- xuống
- tải về
- lái xe
- năng động
- mỗi
- dễ dàng hơn
- dễ dàng
- những nỗ lực
- Cuối cùng đến cuối
- ky sư
- Kỹ sư
- Doanh nghiệp
- Môi trường
- Ngay cả
- ví dụ
- hiện tại
- tồn tại
- thêm
- Tính năng
- thông tin phản hồi
- Tập tin
- Các tập tin
- Cuối cùng
- Tên
- Tập trung
- tiếp theo
- Trong
- tìm thấy
- Miễn phí
- từ
- đạt được
- được
- nhận được
- hướng dẫn
- Cứng
- ổ cứng
- Có
- có
- chăm sóc sức khỏe
- hữu ích
- giúp đỡ
- giúp
- chủ nhà
- lưu trữ
- Độ đáng tin của
- Hướng dẫn
- HTML
- HTTPS
- ID
- hình ảnh
- thực hiện
- cải thiện
- in
- thông tin
- Cơ sở hạ tầng
- bắt đầu
- những hiểu biết
- cài đặt, dựng lên
- cài đặt
- Cài đặt
- ví dụ
- thay vì
- tích hợp
- tích hợp
- tương tác
- giao diện
- IT
- cuộc hành trình
- jpg
- Giữ
- phòng thí nghiệm
- nhãn
- phóng
- hàng đầu
- học tập
- Thư viện
- vòng đời
- LINK
- Danh sách
- Listening
- dài
- máy
- học máy
- làm cho
- LÀM CHO
- Làm
- quản lý
- quản lý
- giám đốc
- Quản lý
- quản lý
- cách thức
- thủ công
- sản xuất
- Marketing
- Có thể..
- Phương tiện truyền thông
- Gặp gỡ
- Bộ nhớ
- Might
- tối thiểu
- Sứ mệnh
- ML
- MLOps
- kiểu mẫu
- mô hình
- sửa đổi
- sửa đổi
- Modules
- giám sát
- chi tiết
- hầu hết
- động cơ
- nhiều
- THÔNG TIN
- Cần
- nhu cầu
- tiếp theo
- máy tính xách tay
- con số
- vật
- Phát hiện đối tượng
- of
- on
- mở
- mã nguồn mở
- cơ quan
- nêu
- đề cương
- riêng
- gói
- cửa sổ
- con đường
- Họa tiết
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- Điểm
- có thể
- Bài đăng
- vấn đề
- quá trình
- Xử lý
- Quy trình
- Sản lượng
- Hồ sơ
- Tiến độ
- dự án
- dự án
- Proxy
- mục đích
- Python
- Nhanh chóng
- phạm vi
- hơn
- thực
- thời gian thực
- gần đây
- kho
- cần phải
- Yêu cầu
- Thông tin
- Kết quả
- chạy
- chạy
- nhà làm hiền triết
- tương tự
- Tiết kiệm
- khả năng mở rộng
- khả năng mở rộng
- Khoa học
- Nhà khoa học
- các nhà khoa học
- kịch bản
- an toàn
- an ninh
- riêng biệt
- phục vụ
- Phiên
- định
- thiết lập
- thiết lập
- Chia sẻ
- chia sẻ
- chia sẻ
- Shell
- nên
- giới thiệu
- thể hiện
- Chương trình
- nhỏ
- So
- giải pháp
- Giải pháp
- động SOLVE
- nguồn
- Không gian
- không gian
- Thể thao
- Bắt đầu
- Bắt đầu
- Trạng thái
- Bước
- Các bước
- hàng
- cửa hàng
- hợp lý hóa
- phòng thu
- Thành công
- hỗ trợ
- hệ thống
- hệ thống
- Nhiệm vụ
- nhóm
- đội
- Thiết bị đầu cuối
- việc này
- Sản phẩm
- Nguồn
- cung cấp their dịch
- Them
- Kia là
- Thông qua
- thời gian
- mất thời gian
- đến
- đào tạo
- Hội thảo
- ui
- tải lên
- URL
- us
- Sử dụng
- sử dụng
- người sử dang
- Người sử dụng
- xác minh
- phiên bản
- Xem
- web
- Ứng dụng web
- trình duyệt web
- Điều gì
- cái nào
- trong khi
- CHÚNG TÔI LÀ
- sẽ
- với
- ở trong
- không có
- Công việc
- đang làm việc
- Bạn
- trên màn hình
- zephyrnet