Thất vọng với việc Thiết lập Môi trường để Chia sẻ Phân tích của bạn với Người khác?
Ảnh của Axel Ahoi trên BaptMotivation
Bạn đã bao giờ muốn chia sẻ các đối tượng Python giữa các tập lệnh khác nhau chưa?
- Đồng đội của bạn có thể triển khai một môi trường khác với kịch bản của bạn
- Mô hình được đào tạo bởi đồng đội của bạn thay đổi hàng ngày. Vì vậy, họ cần chia sẻ lại mô hình với bạn mỗi ngày
- Các tệp hoặc mô hình lớn. Tải lên lại chúng mỗi khi bạn triển khai tập lệnh của mình rất cồng kềnh.
Sẽ không dễ dàng hơn nếu tất cả những gì bạn cần làm là chia sẻ Dataframe như thế này
import datapane as dpdf = dp.Blob.get['profile', owner='khuyentran1401'].download_df[]df
hoặc một cái gì đó như thế này để chia sẻ mô hình của bạn?
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]
Đó là lúc chúng ta cần API Blob của Datapane
Datapane's Blob là gì?
Datapane cung cấp một bộ API giúp dễ dàng chia sẻ các phân tích Python với người khác. Nếu bạn chưa biết về Datapane thì mình viết một bài về Datapane tại đây
Giới thiệu về Datapane. Thư viện Python để xây dựng báo cáo tương tác
Khung đơn giản để tạo báo cáo đẹp và chia sẻ kết quả phân tích của bạn với nhóm của bạn
hướng tới khoa học dữ liệu. com
Ngoài các API để tạo báo cáo và triển khai Notebook của bạn [hiển thị trong bài đăng trên blog khác này, v.v.], Datapane còn cung cấp API cho các trường hợp sử dụng phổ biến khác, chẳng hạn như chia sẻ đốm màu và quản lý bí mật
Để minh họa việc sử dụng Blob, tôi sử dụng một ví dụ về mô hình học máy từ bài viết này. Hãy tưởng tượng bạn đang đào tạo một người mẫu như thế này với hiệu suất tốt trên bộ thử nghiệm
Bạn muốn gửi mô hình này cho đồng đội của mình để họ có thể sử dụng mô hình của bạn để dự đoán tập dữ liệu mới. Làm thế nào bạn có thể làm điều này?
Bạn có thể thiết lập môi trường docker và gửi nó cho đồng đội của mình. Nhưng nếu họ chỉ muốn kiểm tra nhanh mô hình của bạn mà không cần thiết lập môi trường, thì
Outcome : [140.]
Coefficients : [1. 2. 3.]`
1 sẽ là một lựa chọn tốt hơnĐảm bảo có
Outcome : [140.]
Coefficients : [1. 2. 3.]`
2 nếu bạn muốn người khác truy cập nó. Bây giờ những người khác có thể sử dụng đốm màu của bạn cho mã của họOutcome : [140.]
Coefficients : [1. 2. 3.]`
Hãy thử chạy cùng mã đó để xem liệu bạn có thể truy cập và sử dụng công cụ dự đoán không. Trước khi sao chép và dán mã, hãy nhớ đăng ký trên Datapane để nhận mã thông báo của bạn trước. Sau đó, đăng nhập trên thiết bị đầu cuối bằng mã thông báo của bạn
Outcome : [140.]
Coefficients : [1. 2. 3.]`
3Bây giờ cố gắng
dp.Blob.get[name='predictor', owner='khuyentran1401'].download_obj[]
để xem liệu bạn có thể truy cập và sử dụng công cụ dự đoán và đưa ra kết quả tương tự như trên không
Nếu bạn muốn chia sẻ blob của mình một cách riêng tư trong tổ chức của mình, hãy làm theo quy trình tương tự, nhưng đặt chế độ hiển thị của blob của bạn thành
Outcome : [140.]
Coefficients : [1. 2. 3.]`
4Tôi có thể làm gì khác với Blob?
Bên cạnh việc tải lên một đối tượng Python, bạn cũng có thể sử dụng blob để tải lên một Khung dữ liệu Pandas, một tệp
Và để lấy Dataframe, tệp hoặc đối tượng từ blob của bạn
Ví dụ: trong bài viết, tôi đã viết về những phát hiện của mình sau khi thu thập hơn 1 nghìn hồ sơ Github
Tôi đã thu thập hơn 1 nghìn hồ sơ Github về máy học hàng đầu và đây là những gì tôi tìm thấy
Nhận thông tin chi tiết từ Hồ sơ máy học hàng đầu trên Github
hướng tới khoa học dữ liệu. com
Để cho phép bạn truy cập vào tập dữ liệu của tôi, tất cả những gì tôi cần làm là cung cấp cho bạn tên của tập dữ liệu và tài khoản Datapane của tôi. Bây giờ bạn đã sẵn sàng để truy cập nó
import datapane as dpdf = dp.Blob.get['profile', owner='khuyentran1401'].download_df[]df
Tất nhiên, để cho phép bạn truy cập vào dữ liệu của tôi, tôi cần đặt chế độ hiển thị của blob thành 'PUBLIC'
Biến đổi
Không được nhúng các biến như khóa cơ sở dữ liệu, mật khẩu hoặc mã thông báo vào mã của chúng tôi, đặc biệt khi tập lệnh của bạn hiển thị với thế giới bên ngoài. Đối tượng
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]0 của Datapane cung cấp một cách an toàn và bảo mật để tạo, lưu trữ và truy xuất các giá trị mà tập lệnh của bạn yêu cầu
Ví dụ: trong tập lệnh này, tôi đã sử dụng
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]1 để lưu trữ mã thông báo GitHub và tên người dùng của mình để khi tôi chia sẻ mã của mình trên Github, tôi không cần phải lo lắng về việc mã thông báo của mình bị lộ
Biến này hoàn toàn bí mật đối với tôi trừ khi tôi chỉ định rằng mọi người có
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]2 đều có thể truy cập biến này
Nếu một người khác có tài khoản khác muốn truy cập vào biến
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]3 của tôi và chỉ định tôi là chủ sở hữu, họ sẽ gặp lỗi
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url
bởi vì tôi đang có biến của mình ở chế độ riêng tư
Lợi ích khác. Nếu tôi tình cờ sử dụng lại biến này trong tập lệnh khác, tôi có thể dễ dàng truy cập lại mã thông báo này mà không cần nhớ nó là gì
Nhưng điều này không giống với Pickle sao?
Đối với những người đã quen thuộc với Python pickle, bạn có thể thấy các chức năng của Datapane's
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]4 và
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]0 tương tự như Python pickle. Vâng, chúng gần giống nhau nhưng có 3 ưu điểm chính của
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]4 và
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]0 so với dưa chua
- Với
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]
8, những người khác không cần thiết lập môi trường tương tự như của bạn để có được mô hình tương tự. Ví dụ: bạn có thể đào tạo một mô hình trên Sagemaker và muốn sử dụng mô hình đó trong tập lệnh của mình - Thay vì chọn và gửi tệp dưa cho người khác, tất cả những gì bạn cần là sử dụng
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]
9 để tải thay đổi lên, sau đó đồng đội của bạn sử dụngOutcome : [140.]
0 để xem thay đổi
Coefficients : [1. 2. 3.]` - Bạn có thể vô tình mắc lỗi trong phiên bản mới và muốn quay lại phiên bản cũ [tôi. e. đào tạo dữ liệu sai]. Bạn có thể quay lại phiên bản cũ với
Outcome : [140.]
1 trong thông số của
Coefficients : [1. 2. 3.]`Outcome : [140.]
0
Coefficients : [1. 2. 3.]`
Phần kết luận
Xin chúc mừng. Bạn vừa học cách sử dụng Datapane's
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]4 và
import datapane as dppredictor = dp.Blob.get[name='predictor',owner='khuyentran1401'].download_obj[]X_TEST = [[10, 20, 30]]outcome = predictor.predict[X=X_TEST]0 để chia sẻ Khung dữ liệu, tệp, đối tượng Python và biến của bạn trên các tập lệnh khác nhau hoặc các môi trường khác nhau
Đồng đội của bạn sẽ rất vui nếu tất cả những gì họ cần làm để xem kết quả của bạn là một dòng mã mà không gặp rắc rối khi thiết lập môi trường. Và bạn sẽ rất vui khi đồng đội của mình có thể truy cập dữ liệu giống như bạn
Vui lòng rẽ nhánh và chơi với mã cho bài viết này trong kho lưu trữ Github này
Tôi thích viết về các khái niệm khoa học dữ liệu cơ bản và chơi với các thuật toán và công cụ khoa học dữ liệu khác nhau. Bạn có thể kết nối với tôi trên LinkedIn và Twitter
Gắn dấu sao cho repo này nếu bạn muốn kiểm tra mã cho tất cả các bài báo tôi đã viết. Theo dõi tôi trên Phương tiện để được thông báo về các bài báo khoa học dữ liệu mới nhất của tôi như thế này