AllenNLP telah sukses besar, namun seiring kemajuan pesat dalam bidang ini, inilah saatnya untuk fokus pada inisiatif baru. Kami bekerja keras untuk menjadikan AI2 Tango sebagai cara terbaik untuk mengatur basis kode penelitian. Jika Anda adalah pengguna aktif AllenNLP, berikut beberapa alternatif yang disarankan:
modules
AllenNLP dan paket nn
, lihat delmaksym/allennlp-light. Ini bahkan kompatibel dengan AI2 Tango!Jika Anda tertarik menggunakan AllenNLP untuk pengembangan model, kami sarankan Anda membaca Panduan AllenNLP untuk pengenalan menyeluruh tentang perpustakaan, diikuti dengan panduan lanjutan kami tentang Diskusi GitHub.
Saat Anda siap memulai proyek, kami telah membuat beberapa repositori templat yang dapat Anda gunakan sebagai tempat awal:
allennlp train
untuk menentukan eksperimen, gunakan templat ini. Kami merekomendasikan pendekatan ini.Selain itu, ada tutorial eksternal:
Dan lainnya di blog AI2 AllenNLP.
AllenNLP mendukung pemuatan "plugin" secara dinamis. Plugin hanyalah paket Python yang menyediakan kelas terdaftar khusus atau subperintah allennlp
tambahan.
Terdapat ekosistem plugin sumber terbuka, beberapa di antaranya dikelola oleh tim AllenNLP di AI2, dan beberapa di antaranya dikelola oleh komunitas yang lebih luas.
Pengaya | Pemelihara | CLI | Keterangan |
allennlp-model | AI2 | TIDAK | Koleksi model tercanggih |
allennlp-semparse | AI2 | TIDAK | Kerangka kerja untuk membangun parser semantik |
allennlp-server | AI2 | Ya | Server demo sederhana untuk menyajikan model |
allennlp-optuna | Makoto Hiramatsu | Ya | Integrasi Optuna untuk optimasi hyperparameter |
AllenNLP akan secara otomatis menemukan plugin resmi yang dikelola AI2 yang telah Anda instal, tetapi agar AllenNLP dapat menemukan plugin pribadi atau pihak ketiga yang telah Anda instal, Anda juga harus membuat file plugin lokal bernama .allennlp_plugins
di direktori tempat Anda menjalankan perintah allennlp
, atau file plugin global di ~/.allennlp/plugins
. File tersebut harus mencantumkan modul plugin yang ingin Anda muat, satu modul per baris.
Untuk menguji apakah plugin Anda dapat ditemukan dan diimpor oleh AllenNLP, Anda dapat menjalankan perintah allennlp test-install
. Setiap plugin yang ditemukan akan login ke terminal.
Untuk informasi selengkapnya tentang plugin, lihat dokumen API plugin. Dan untuk informasi tentang cara membuat subperintah khusus untuk didistribusikan sebagai plugin, lihat dokumen API subperintah.
Allennlp | Perpustakaan penelitian NLP sumber terbuka, dibangun di PyTorch |
allennlp.commands | Fungsionalitas untuk CLI |
allennlp.common | Modul utilitas yang digunakan di seluruh perpustakaan |
allennlp.data | Modul pemrosesan data untuk memuat kumpulan data dan mengkodekan string sebagai bilangan bulat untuk representasi dalam matriks |
allennlp.keadilan | Modul untuk algoritma dan metrik mitigasi bias dan keadilan |
allennlp.modules | Kumpulan modul PyTorch untuk digunakan dengan teks |
allennlp.nn | Fungsi utilitas Tensor, seperti fungsi inisialisasi dan aktivasi |
allennlp.pelatihan | Fungsionalitas untuk model pelatihan |
AllenNLP memerlukan Python 3.6.1 atau lebih baru dan PyTorch.
Kami mendukung AllenNLP di lingkungan Mac dan Linux. Saat ini kami tidak mendukung Windows namun terbuka untuk berkontribusi.
Cara paling sederhana untuk menginstal AllenNLP adalah menggunakan conda (Anda dapat memilih versi python lain):
conda install -c conda-forge python=3.8 allennlp
Untuk menginstal paket opsional, seperti checklist
, gunakan
conda install -c conda-forge allennlp-checklist
atau cukup instal allennlp-all
secara langsung. Plugin yang disebutkan di atas juga dapat diinstal, misalnya
conda install -c conda-forge allennlp-models allennlp-semparse allennlp-server allennlp-optuna
Anda disarankan untuk menginstal ekosistem PyTorch sebelum menginstal AllenNLP dengan mengikuti petunjuk di pytorch.org.
Setelah itu, jalankan saja pip install allennlp
.
️ Jika Anda menggunakan Python 3.7 atau lebih tinggi, Anda harus memastikan bahwa Anda tidak menginstaldataclasses
versi PyPI setelah menjalankan perintah di atas, karena ini dapat menyebabkan masalah pada platform tertentu. Anda dapat dengan cepat memeriksanya dengan menjalankanpip freeze | grep dataclasses
. Jika Anda melihat sesuatu sepertidataclasses=0.6
pada output, jalankan sajapip uninstall -y dataclasses
.
Jika Anda memerlukan petunjuk tentang cara menyiapkan lingkungan Python yang sesuai atau ingin menginstal AllenNLP menggunakan metode lain, lihat di bawah.
Conda dapat digunakan untuk mengatur lingkungan virtual dengan versi Python yang diperlukan untuk AllenNLP. Jika Anda sudah memiliki lingkungan Python 3 yang ingin Anda gunakan, Anda dapat melompat ke bagian 'menginstal melalui pip'.
Unduh dan instal Conda.
Buat lingkungan Conda dengan Python 3.8 (3.7 atau 3.9 juga bisa digunakan):
conda create -n allennlp_env python=3.8
Aktifkan lingkungan Conda. Anda perlu mengaktifkan lingkungan Conda di setiap terminal tempat Anda ingin menggunakan AllenNLP:
conda activate allennlp_env
Menginstal perpustakaan dan dependensinya mudah menggunakan pip
.
pip install allennlp
Untuk menginstal dependensi opsional, seperti checklist
, jalankan
pip install allennlp[checklist]
Atau Anda dapat menginstal semua dependensi opsional dengan pip install allennlp[all]
.
Mencari fitur mutakhir? Anda dapat menginstal rilis malam langsung dari pypi
AllenNLP menginstal skrip ketika Anda menginstal paket python, sehingga Anda dapat menjalankan perintah allennlp hanya dengan mengetik allennlp
ke terminal. Misalnya, sekarang Anda dapat menguji instalasi Anda dengan allennlp test-install
.
Anda mungkin juga ingin menginstal allennlp-models
, yang berisi konstruksi NLP untuk melatih dan menjalankan model yang kami dukung secara resmi, banyak di antaranya dihosting di https://demo.allennlp.org.
pip install allennlp-models
Docker menyediakan mesin virtual dengan segala sesuatu yang diatur untuk menjalankan AllenNLP-- baik Anda akan memanfaatkan GPU atau hanya menjalankannya di CPU. Docker memberikan lebih banyak isolasi dan konsistensi, dan juga memudahkan pendistribusian lingkungan Anda ke kluster komputasi.
AllenNLP menyediakan image Docker resmi dengan perpustakaan dan semua dependensinya diinstal.
Setelah Anda menginstal Docker, Anda juga harus menginstal NVIDIA Container Toolkit jika Anda memiliki GPU yang tersedia.
Kemudian jalankan perintah berikut untuk mendapatkan lingkungan yang akan berjalan di GPU:
mkdir -p $HOME /.allennlp/
docker run --rm --gpus all -v $HOME /.allennlp:/root/.allennlp allennlp/allennlp:latest
Anda dapat menguji lingkungan Docker dengan
docker run --rm --gpus all -v $HOME /.allennlp:/root/.allennlp allennlp/allennlp:latest test-install
Jika Anda tidak memiliki GPU, hilangkan saja tanda --gpus all
.
Karena berbagai alasan, Anda mungkin perlu membuat image Docker AllenNLP Anda sendiri, seperti jika Anda memerlukan versi PyTorch yang berbeda. Untuk melakukannya, jalankan saja make docker-image
dari root klon lokal AllenNLP Anda.
Secara default, ini membuat gambar dengan tag allennlp/allennlp
, tetapi Anda dapat mengubahnya sesuai keinginan dengan menyetel tanda DOCKER_IMAGE_NAME
saat Anda memanggil make
. Misalnya, make docker-image DOCKER_IMAGE_NAME=my-allennlp
.
Jika Anda ingin menggunakan versi Python atau PyTorch yang berbeda, setel tanda DOCKER_PYTHON_VERSION
dan DOCKER_TORCH_VERSION
ke 3.9
dan 1.9.0-cuda10.2
. Bendera-bendera ini bersama-sama menentukan gambar dasar yang digunakan. Anda dapat melihat daftar kombinasi yang valid di GitHub Container Registry ini: github.com/allenai/docker-images/pkgs/container/pytorch.
Setelah membuat image, Anda akan dapat melihatnya terdaftar dengan menjalankan docker images allennlp
.
REPOSITORY TAG IMAGE ID CREATED SIZE
allennlp/allennlp latest b66aee6cb593 5 minutes ago 2.38GB
Anda juga dapat menginstal AllenNLP dengan mengkloning repositori git kami:
git clone https://github.com/allenai/allennlp.git
Buat lingkungan virtual Python 3.7 atau 3.8, dan instal AllenNLP dalam mode editable
dengan menjalankan:
pip install -U pip setuptools wheel
pip install --editable .[dev,all]
Ini akan membuat allennlp
tersedia di sistem Anda tetapi akan menggunakan sumber dari klon lokal yang Anda buat dari repositori sumber.
Anda dapat menguji instalasi Anda dengan allennlp test-install
. Lihat https://github.com/allenai/allennlp-models untuk petunjuk tentang cara menginstal allennlp-models
dari sumber.
Setelah Anda menginstal AllenNLP, Anda dapat menjalankan antarmuka baris perintah dengan perintah allennlp
(baik Anda menginstal dari pip
atau dari sumber). allennlp
memiliki berbagai subperintah seperti train
, evaluate
, dan predict
. Untuk melihat informasi penggunaan selengkapnya, jalankan allennlp --help
.
Anda dapat menguji instalasi Anda dengan menjalankan allennlp test-install
.
Setiap orang dipersilakan untuk mengajukan masalah baik dengan permintaan fitur, laporan bug, atau pertanyaan umum. Sebagai tim kecil yang memiliki tujuan internal masing-masing, kami mungkin meminta kontribusi jika perbaikan cepat tidak sesuai dengan peta jalan kami. Untuk menjaga semuanya tetap rapi, kami akan sering menutup permasalahan yang kami pikir sudah terjawab, namun jangan ragu untuk menindaklanjutinya jika diperlukan diskusi lebih lanjut.
Tim AllenNLP di AI2 (@allenai) menyambut baik kontribusi dari komunitas. Jika Anda baru pertama kali menjadi kontributor, kami menyarankan Anda memulai dengan membaca panduan CONTRIBUTING.md kami. Kemudian lihat masalah kami dengan tag Good First Issue
.
Jika Anda ingin menyumbangkan fitur yang lebih besar, sebaiknya buat masalah terlebih dahulu dengan usulan desain untuk didiskusikan. Hal ini akan mencegah Anda menghabiskan banyak waktu pada implementasi yang memiliki keterbatasan teknis yang mungkin telah ditunjukkan oleh seseorang sejak awal. Kontribusi kecil dapat diberikan langsung dalam permintaan tarik.
Permintaan tarik (PR) harus memiliki satu tinjauan yang menyetujui dan tidak ada perubahan yang diminta sebelum digabungkan. Karena AllenNLP terutama didorong oleh AI2, kami berhak menolak atau mengembalikan kontribusi yang menurut kami bukan tambahan yang baik.
Jika Anda menggunakan AllenNLP dalam penelitian Anda, harap kutip AllenNLP: Platform Pemrosesan Bahasa Alami Semantik yang Mendalam.
@inproceedings { Gardner2017AllenNLP ,
title = { AllenNLP: A Deep Semantic Natural Language Processing Platform } ,
author = { Matt Gardner and Joel Grus and Mark Neumann and Oyvind Tafjord
and Pradeep Dasigi and Nelson F. Liu and Matthew Peters and
Michael Schmitz and Luke S. Zettlemoyer } ,
year = { 2017 } ,
Eprint = { arXiv:1803.07640 } ,
}
AllenNLP adalah proyek sumber terbuka yang didukung oleh Allen Institute for Artificial Intelligence (AI2). AI2 adalah lembaga nirlaba dengan misi berkontribusi terhadap kemanusiaan melalui penelitian dan rekayasa AI yang berdampak tinggi. Untuk mempelajari lebih lanjut tentang siapa yang secara khusus berkontribusi pada basis kode ini, lihat halaman kontributor kami.