Instal Pustaka dan Kernel Eksternal - Amazon SageMaker

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

Instal Pustaka dan Kernel Eksternal

penting

Saat ini, semua paket di lingkungan instance notebook dilisensikan untuk digunakan dengan Amazon SageMaker dan tidak memerlukan lisensi komersial tambahan. Namun, ini mungkin dapat berubah di masa mendatang, dan kami sarankan untuk meninjau persyaratan lisensi secara teratur untuk setiap pembaruan.

Instans SageMaker notebook Amazon hadir dengan beberapa lingkungan yang sudah diinstal. Lingkungan ini berisi kernel Jupyter dan paket Python termasuk: scikit, Pandas,,, dan. NumPy TensorFlow MXNet Lingkungan ini, bersama dengan semua file di sample-notebooks folder, disegarkan saat Anda berhenti dan memulai instance notebook. Anda juga dapat menginstal lingkungan Anda sendiri yang berisi paket dan kernel pilihan Anda.

Kernel Jupyter yang berbeda dalam instance SageMaker notebook Amazon adalah lingkungan conda yang terpisah. Untuk informasi tentang lingkungan conda, lihat Mengelola lingkungan dalam dokumentasi Conda.

Instal lingkungan dan kernel khusus pada EBS volume Amazon instans notebook. Ini memastikan bahwa mereka bertahan ketika Anda menghentikan dan memulai ulang instance notebook, dan bahwa pustaka eksternal apa pun yang Anda instal tidak diperbarui oleh. SageMaker Untuk melakukannya, gunakan konfigurasi siklus hidup yang menyertakan skrip yang berjalan saat Anda membuat instance notebook (on-create)dan skrip yang berjalan setiap kali Anda memulai ulang instance notebook ()on-start. Untuk informasi selengkapnya tentang penggunaan konfigurasi siklus hidup instance notebook, lihat. Kustomisasi instance SageMaker notebook menggunakan LCC skrip Ada GitHub repositori yang berisi contoh skrip konfigurasi siklus hidup di Sampel Konfigurasi Siklus Hidup SageMakerInstance Notebook.

Contoh di https://github.com/aws-samples/amazon-sagemaker-notebook-instance- lifecycle-config-samples /blob/master/scripts/ persistent-conda-ebs /on-create.sh dan https://github.com/aws-samples/ amazon-sagemaker-notebook-instance - lifecycle-config-samples /blob/master/scripts/ persistent-conda-ebs /on-start.sh menunjukkan praktik terbaik untuk menginstal lingkungan dan kernel pada instance notebook. on-createSkrip menginstal ipykernel perpustakaan untuk membuat lingkungan kustom sebagai kernel Jupyter, kemudian menggunakan pip install dan conda install menginstal pustaka. Anda dapat menyesuaikan skrip untuk membuat lingkungan khusus dan menginstal pustaka yang Anda inginkan. SageMaker tidak memperbarui pustaka ini saat Anda menghentikan dan memulai ulang instance notebook, sehingga Anda dapat memastikan bahwa lingkungan kustom Anda memiliki versi pustaka tertentu yang Anda inginkan. on-startSkrip menginstal lingkungan kustom apa pun yang Anda buat sebagai kernel Jupyter, sehingga muncul di daftar dropdown di menu Jupyter New.

Alat instalasi Package

SageMaker notebook mendukung alat instalasi paket berikut:

  • instal conda

  • instal pip

Anda dapat menginstal paket menggunakan metode berikut:

Dari dalam notebook Anda dapat menggunakan sintaks perintah sistem (baris dimulai dengan!) untuk menginstal paket, misalnya, !pip install dan!conda install. Baru-baru ini, perintah baru telah ditambahkan keIPython: %pip dan%conda. Perintah ini adalah cara yang disarankan untuk menginstal paket dari notebook karena mereka dengan benar memperhitungkan lingkungan aktif atau juru bahasa yang digunakan. Untuk informasi selengkapnya, lihat Menambahkan %pip dan %conda magic functions.

Conda

Conda adalah sistem manajemen paket open source dan sistem manajemen lingkungan, yang dapat menginstal paket dan dependensinya. SageMaker mendukung penggunaan Conda dengan salah satu dari dua saluran utama, saluran default, dan saluran conda-forge. Untuk informasi selengkapnya, lihat saluran Conda. Saluran conda-forge adalah saluran komunitas tempat kontributor dapat mengunggah paket.

catatan

Karena bagaimana Conda menyelesaikan grafik ketergantungan, menginstal paket dari conda-forge dapat memakan waktu lebih lama secara signifikan (dalam kasus terburuk, lebih dari 10 menit).

Deep Learning AMI hadir dengan banyak lingkungan conda dan banyak paket yang sudah diinstal sebelumnya. Karena jumlah paket yang sudah diinstal sebelumnya, sulit menemukan satu set paket yang dijamin kompatibel. Anda mungkin melihat peringatan “Lingkungan tidak konsisten, silakan periksa paket paket dengan cermat”. Terlepas dari peringatan ini SageMaker , pastikan bahwa semua lingkungan SageMaker yang disediakan sudah benar. SageMaker tidak dapat menjamin bahwa setiap paket yang diinstal pengguna akan berfungsi dengan benar.

catatan

Pengguna SageMaker, AWS Deep Learning AMI dan Amazon EMR dapat mengakses repositori Anaconda komersial tanpa mengambil lisensi komersial hingga 1 Februari 2024 saat menggunakan Anaconda dalam layanan tersebut. Untuk setiap penggunaan repositori Anaconda komersial setelah 1 Februari 2024, pelanggan bertanggung jawab untuk menentukan persyaratan lisensi Anaconda mereka sendiri.

Conda memiliki dua metode untuk mengaktifkan lingkungan: conda activate/deactivate, dan source activate/nonactivate. Untuk informasi lebih lanjut, lihat Haruskah saya menggunakan 'conda activate' atau 'source activate' di Linux.

SageMaker mendukung pemindahan lingkungan Conda ke EBS volume Amazon, yang dipertahankan saat instance dihentikan. Lingkungan tidak bertahan ketika lingkungan diinstal ke volume root, yang merupakan perilaku default. Untuk contoh skrip siklus hidup, lihat. persistent-conda-ebs

Operasi conda yang didukung (lihat catatan di bagian bawah topik ini)
  • conda install paket dalam satu lingkungan

  • conda menginstal paket di semua lingkungan

  • conda install paket R di lingkungan R

  • Menginstal paket dari repositori conda utama

  • Menginstal paket dari conda-forge

  • Mengubah lokasi pemasangan Conda untuk digunakan EBS

  • Mendukung conda activate dan source activate

Pip

Pip adalah alat de facto untuk menginstal dan mengelola paket Python. Pip mencari paket-paket pada Indeks Paket Python (PyPI) secara default. Tidak seperti Conda, pip tidak memiliki dukungan lingkungan bawaan, dan tidak selengkap Conda dalam hal paket dengan dependensi pustaka asli/sistem. Pip dapat digunakan untuk menginstal paket di lingkungan Conda.

Anda dapat menggunakan repositori paket alternatif dengan pip alih-alih PyPI. Untuk contoh skrip siklus hidup, lihat on-start.sh.

Operasi pip yang didukung (lihat catatan di bagian bawah topik ini)
  • Menggunakan pip untuk menginstal paket tanpa lingkungan conda aktif (instal sistem paket di seluruh)

  • Menggunakan pip untuk menginstal paket di lingkungan conda

  • Menggunakan pip untuk menginstal paket di semua lingkungan conda

  • Mengubah lokasi pemasangan pip yang akan digunakan EBS

  • Menggunakan repositori alternatif untuk menginstal paket dengan pip

Tidak didukung

SageMaker bertujuan untuk mendukung sebanyak mungkin operasi instalasi paket. Namun, jika paket diinstal oleh SageMaker atauDLAMI, dan Anda menggunakan operasi berikut pada paket ini, itu mungkin membuat instance notebook Anda tidak stabil:

  • Menghapus instalasi

  • Menurunkan

  • Meningkatkan

Kami tidak memberikan dukungan untuk menginstal paket melalui yum install atau menginstal paket R dariCRAN.

Karena potensi masalah dengan kondisi jaringan atau konfigurasi, atau ketersediaan Conda atau PyPi, kami tidak dapat menjamin bahwa paket akan diinstal dalam jumlah waktu yang tetap atau deterministik.

catatan

Kami tidak dapat menjamin bahwa instalasi paket akan berhasil. Mencoba menginstal paket di lingkungan dengan dependensi yang tidak kompatibel dapat mengakibatkan kegagalan. Dalam kasus seperti itu, Anda harus menghubungi pengelola perpustakaan untuk melihat apakah mungkin untuk memperbarui dependensi paket. Atau Anda dapat mencoba untuk memodifikasi lingkungan sedemikian rupa untuk memungkinkan instalasi. Namun modifikasi ini kemungkinan berarti menghapus atau memperbarui paket yang ada, yang berarti kami tidak dapat lagi menjamin stabilitas lingkungan ini.