Berharap Anda dapat mencari gambar atau video Anda tanpa menulis sebaris kode? Ingin mengekstrak wawasan dari data Anda dengan bertanya dalam bahasa Inggris biasa? Sekarang Anda bisa! ?
VoxelGpt adalah plugin Fiftyone yang menggabungkan kekuatan model bahasa besar (LLM) dan model multimodal besar (LMM) dengan bahasa query visi komputer Fiftyone, memungkinkan Anda untuk memfilter, mengurutkan, mengiris secara semantik dan mengajukan pertanyaan tentang data Anda menggunakan bahasa alami. Bahkan dapat melakukan perhitungan pada dataset Anda untuk Anda - dengan persetujuan, tentu saja!
Anda dapat mencoba voxelgpt langsung di gpt.fiftyone.ai!
Voxelgpt mampu menangani jenis pertanyaan berikut:
Ketika Anda mengajukan pertanyaan kepada Voxelgpt, itu akan menafsirkan niat Anda dan menentukan jenis kueri yang Anda tanyakan. Jika VoxelGpt tidak yakin, itu akan meminta Anda untuk mengklarifikasi.
Voxelgpt dapat menangani jenis kueri berikut tentang dataset Anda:
Anda dapat meminta VoxelGpt untuk mencari set data Anda. Berikut beberapa contoh hal yang dapat Anda tanyakan:
Di bawah kap, VoxelGpt menafsirkan kueri Anda dan menerjemahkannya ke dalam tampilan dataset yang sesuai. Voxelgpt memahami skema dataset Anda, serta hal -hal seperti evaluasi berjalan dan indeks kesamaan.
Ini juga dapat secara otomatis memeriksa konten dataset Anda untuk mengambil entitas tertentu.
Voxelgpt dapat menjawab pertanyaan tentang skema dataset Anda, lari otak, evaluasi berjalan, dan banyak lagi. Berikut beberapa contoh:
Jika dataset Anda berisi satu atau lebih bidang fo.Detections
, voxelgpt dapat menyaring atau mencocokkan berdasarkan ukuran (relatif dan absolut) kotak pembatas, dan pada jumlah deteksi.
Jika dataset Anda memiliki bidang GeoLocation
, Anda dapat menjalankan kueri geografis pada dataset Anda. Voxelgpt dapat melakukan geocoding untuk beralih dari nama lokasi (atau deskripsi tekstual) ke pasangan (lon, lat)
, atau daftar titik (lon, lat)
yang mendefinisikan wilayah batas. Berikut beberapa contoh:
Jika dataset Anda memiliki bidang Date
atau DateTime
, voxelgpt dapat melakukan kueri temporal seperti:
event
membaca waktu antara jam 8 malam dan 11 malam Voxelgpt memiliki akses ke tahap agregasi dalam lima puluh satu, sehingga dapat melakukan agregasi seperti count
, mean
, sum
, std
, min
, max
, values
, dan distinct
untuk bidang atau ekspresi di seluruh dataset atau tampilan ke dalam dataset. Berikut beberapa contoh:
cat
?confidence
dalam prediksi saya?Voxelgpt dapat melakukan perhitungan pada dataset Anda, seperti:
Berikut beberapa contoh kueri komputasi yang dapat Anda tanyakan pada voxelgpt:
Jika Anda tidak ingin mengizinkan VoxelGpt untuk menjalankan perhitungan, atur variabel lingkungan:
export VOXELGPT_ALLOW_COMPUTATIONS=false
Anda juga dapat mengatur ukuran dataset minimum di mana voxelgpt perlu meminta izin untuk menjalankan perhitungan:
export VOXELGPT_APPROVAL_THRESHOLD=1000
Nilai defaultnya adalah 100 sampel.
Voxelgpt bukan hanya programmer pasangan; Ini juga merupakan alat pendidikan. VoxelGpt memiliki akses ke seluruh dokumen FiftyOne, serta semua posting blog di blog Voxel51, dan transkrip dari video di saluran YouTube Voxel51. Ini dapat menggunakan semua sumber daya ini untuk menjawab pertanyaan terkait lima puluh satu.
Berikut beberapa contoh kueri dokumentasi yang dapat Anda tanyakan pada voxelgpt:
VoxelGpt akan menyediakan tautan ke sumber daya yang paling bermanfaat di seluruh dokumen, blog, dan saluran YouTube Voxel51. Untuk video YouTube, tautan akan mengarah langsung ke cap waktu yang paling relevan!
Voxelgpt dapat menjawab pertanyaan tentang lingkungan tempat Anda menjalankan lima puluh satu, termasuk:
Berikut beberapa contoh kueri ruang kerja yang dapat Anda tanyakan pada voxelgpt:
Akhirnya, VoxelGpt dapat menjawab pertanyaan umum tentang visi komputer, pembelajaran mesin, dan ilmu data. Ini dapat membantu Anda memahami konsep dasar dan mempelajari cara mengatasi masalah kualitas data.
Berikut beberapa contoh pertanyaan pembelajaran mesin yang dapat Anda tanyakan pada voxelgpt:
Jika Anda belum melakukannya, instal FiftyOne:
pip install fiftyone
Anda juga harus menyediakan kunci API OpenAI (buat satu):
export OPENAI_API_KEY=XXXXXXXX
Untuk digunakan dengan penyebaran Azure pribadi Anda, lihat di sini
Jika Anda hanya ingin menggunakan voxelgpt di aplikasi FiftyOne, maka Anda dapat menginstalnya sebagai plugin:
fiftyone plugins download https://github.com/voxel51/voxelgpt
fiftyone plugins requirements @voxel51/voxelgpt --install
Jika Anda ingin secara langsung menggunakan modul voxelgpt
atau mengembangkan proyek secara lokal, maka Anda ingin mengkloning repositori:
git clone https://github.com/voxel51/voxelgpt
cd voxelgpt
Pasang persyaratan:
pip install -r requirements.txt
dan membuat plugin tersedia untuk digunakan di aplikasi FiftyOne dengan symlinking ke direktori plugin Anda:
# Symlinks your clone of voxelgpt into your FiftyOne plugins directory
ln -s " $( pwd ) " " $( fiftyone config plugins_dir ) /voxelgpt "
Ingin menambahkan voxelgpt ke penempatan tim lima puluh satu? Anda bisa! Instruksi di sini.
Anda dapat menggunakan voxelgpt dengan penyebaran Azure pribadi Anda dengan mengatur variabel lingkungan berikut:
export OPENAI_API_TYPE=azure
export AZURE_OPENAI_ENDPOINT= < azure_endpoint >
export AZURE_OPENAI_KEY= < azure_api_key >
export AZURE_OPENAI_GPT35_DEPLOYMENT_NAME= < gpt35-deployment-name >
export AZURE_OPENAI_GPT4O_DEPLOYMENT_NAME= < gpt4o-deployment-name >
export AZURE_OPENAI_TEXT_EMBEDDING_3_LARGE_DEPLOYMENT_NAME= < embedding-deployment-name >
Jika salah satu dari tiga variabel lingkungan pertama tidak diatur, VoxelGpt akan default menggunakan API OpenAI. Untuk tiga variabel lingkungan terakhir, jika ada di antara mereka yang tidak ditetapkan sumber daya tidak ditemukan, VoxelGpt akan default menggunakan API OpenAI untuk model spesifik itu.
Anda dapat menggunakan voxelgpt di aplikasi FiftyOne dengan memuat dataset apa pun:
import fiftyone as fo
import fiftyone . zoo as foz
dataset = foz . load_zoo_dataset ( "quickstart" )
session = fo . launch_app ( dataset )
Dan kemudian:
+
di sebelah tab Sampel dan Memilih VoxelgptMisalnya, coba ajukan pertanyaan berikut:
Kiat Pro: Gunakan kata kunci now
untuk menggabungkan prompt Anda sebelumnya sebagai konteks untuk kueri Anda berikutnya!
Anda juga dapat menjalankan voxelgpt sebagai operator dengan menekan tombol ~
pada keyboard Anda dan memilih Ask VoxelGPT
dari daftar. Ini akan membuka modal kecil di mana Anda dapat mengetikkan kueri Anda.
Jika Anda telah menginstal secara lokal, Anda juga dapat secara langsung berinteraksi dengan VoxelGpt melalui Python.
Anda dapat menggunakan ask_voxelgpt_interactive()
untuk meluncurkan sesi interaktif di mana Anda dapat berkomunikasi dengan voxelgpt melalui input()
prompt. Arahkan ke direktori tempat voxelgpt berada dan dijalankan:
import fiftyone as fo
import fiftyone . zoo as foz
from voxelgpt import ask_voxelgpt_interactive
dataset = foz . load_zoo_dataset ( "quickstart" )
session = fo . launch_app ( dataset )
ask_voxelgpt_interactive ( dataset , session = session )
Kiat Pro: Gunakan kata kunci now
untuk menggabungkan prompt Anda sebelumnya sebagai konteks untuk kueri Anda berikutnya.
Seperti biasa, Anda dapat meminta voxelgpt dengan kombinasi dataset, dokumentasi, dan kueri visi komputer umum. Misalnya, percakapan mungkin terlihat seperti:
You:
what is the difference between precision and recall?
VoxelGPT:
Precision and recall are two important metrics used to evaluate the
performance of a machine learning model in classification tasks. Precision
measures the proportion of true positive predictions among all positive
predictions made by the model. Recall, on the other hand, measures the
proportion of true positive predictions among all actual positive instances
in the dataset.
In other words, precision is the ability of the model to correctly identify
positive instances, while recall is the ability of the model to identify
all positive instances. A high precision means that the model is making
very few false positive predictions, while a high recall means that the
model is able to identify most of the positive instances in the dataset.
It is important to balance precision and recall when evaluating a model's
performance. A model with high precision but low recall may be missing
important positive instances, while a model with high recall but low
precision may be making too many false positive predictions.
In the context of the FiftyOne library, precision and recall can be
computed using the `fiftyone.utils.metrics` module, which provides
functions for computing various classification metrics. For example, the
`fiftyone.utils.metrics.binary_classification` function can be used to
compute precision and recall for binary classification tasks.
You:
does FiftyOne integrate with Label Studio?
VoxelGPT:
Yes, FiftyOne integrates with Label Studio. The integration allows you to
easily upload your data directly from FiftyOne to Label Studio for labeling.
You can get started with Label Studio through a simple pip install to get a
local server up and running. FiftyOne provides simple setup instructions
that you can use to specify the necessary account credentials and server
endpoint to use. FiftyOne provides an API to create projects, upload data,
define label schemas, and download annotations using Label Studio, all
programmatically in Python. All of the following label types are supported
for image datasets: Classification, Detections, Instance segmentations,
Polygons and polylines, Keypoints, Scalar fields, and Semantic segmentation.
Sources:
- https://docs.voxel51.com/integrations/index.html
- https://docs.voxel51.com/integrations/labelstudio.html
You:
show me predicted airplanes
VoxelGPT:
Identified potential algorithms: evaluation
No evaluation runs found.
Identified potential fields: predictions
Identified potential label classes: {'predictions': ['airplane']}
Identified potential view stages: ['match', 'filter_labels', 'match_labels', 'exclude_labels', 'filter_field']
Okay, I'm going to load dataset.filter_labels("predictions",F("label") == "airplane")
You:
now only show me the first 10 samples
VoxelGPT:
Identified potential algorithms: evaluation
No evaluation runs found.
Identified potential fields: predictions
Identified potential label classes: {'predictions': ['airplane']}
Identified potential view stages: ['match', 'limit', 'limit_labels', 'skip', 'sort_by']
Okay, I'm going to load dataset.match(F("predictions.detections.label").contains("airplane")).limit(10)
You: exit
Dalam mode interaktif, VoxelGpt secara otomatis memuat setiap tampilan yang dibuatnya di aplikasi, dan Anda dapat mengaksesnya melalui objek sesi Anda:
print ( session . view . count ( "predictions.detections" ))
Anda juga dapat menggunakan ask_voxelgpt()
untuk meminta voxelgpt dengan permintaan individual:
from voxelgpt import ask_voxelgpt
ask_voxelgpt ( "Does FiftyOne integrate with CVAT?" )
Yes, FiftyOne integrates with CVAT, which is an open-source image and video
annotation tool. You can upload your data directly from FiftyOne to CVAT to add or
edit labels. You can use CVAT either through the hosted server at app.cvat.ai or
through a self-hosted server. In either case, FiftyOne provides simple setup
instructions that you can use to specify the necessary account credentials and
server endpoint to use. The tight integration between FiftyOne and CVAT allows
you to curate and explore datasets in FiftyOne and then send off samples or
existing labels for annotation in CVAT with just one line of code. To use CVAT,
you must create an account on a CVAT server. By default, FiftyOne uses app.cvat.ai.
If you haven’t already, go to app.cvat.ai and create an account now. Another option
is to set up CVAT locally and then configure FiftyOne to use your self-hosted server.
A primary benefit of setting up CVAT locally is that you are limited to 10 tasks and
500MB of data with app.cvat.ai.
Sources:
- https://docs.voxel51.com/integrations/cvat.html#examples
- https://docs.voxel51.com/tutorials/cvat_annotation.html#Annotating-Datasets-with-CVAT
- https://docs.voxel51.com/tutorials/cvat_annotation.html#Setup
- https://docs.voxel51.com/integrations/index.html#fiftyone-integrations
Ketika Voxelgpt menciptakan tampilan sebagai tanggapan atas kueri Anda, dikembalikan:
import fiftyone as fo
import fiftyone . zoo as foz
dataset = foz . load_zoo_dataset ( "quickstart" )
view = ask_voxelgpt ( "show me 10 random samples" , dataset )
Identified potential view stages: ['match', 'limit', 'skip', 'take', 'sort_by']
Okay, I'm going to load dataset.take(10)
Voxelgpt dilatih untuk mengenali kata kunci tertentu yang membantunya memahami niat Anda:
Kata kunci | Arti |
---|---|
show / display | Memberitahu VoxelGpt bahwa Anda ingin menanyakan dataset Anda dan menampilkan hasilnya |
docs / how / FiftyOne | Memberitahu Voxelgpt bahwa Anda ingin menanyakan dokumen FiftyOne. |
now | Gunakan riwayat obrolan Anda sebagai konteks untuk menafsirkan kueri Anda berikutnya. Misalnya, jika Anda bertanya "Tunjukkan gambar dengan orang -orang" dan kemudian tanyakan "Sekarang tunjukkan 10 yang paling unik", Voxelgpt akan mengerti bahwa Anda ingin menampilkan 10 gambar paling unik dengan orang -orang |
help | Mencetak pesan bantuan dengan instruksi penggunaan |
reset | Mengatur ulang riwayat percakapan |
exit | Keluar dari sesi Python interaktif |
Kontribusi dipersilakan! Lihat panduan kontribusi untuk instruksi.
Voxelgpt menggunakan:
VoxelGpt menyediakan dukungan terbatas untuk video, kumpulan data yang dikelompokkan, dan media 3D. Penyaringan dasar, permintaan, dan agregasi masih akan berhasil, tetapi jangan mengharapkan wawasan mendalam ke dalam data 3D.
Implementasi ini didasarkan pada serangkaian contoh terbatas, sehingga mungkin tidak menggeneralisasi dengan baik untuk semua dataset. Semakin spesifik pertanyaan Anda, semakin baik hasilnya. Jika Anda menemukan bahwa hasilnya tidak seperti yang Anda harapkan, beri tahu kami!
Jika Anda telah sampai sejauh ini, kami akan sangat menghargai jika Anda akan meluangkan waktu sejenak untuk memeriksa Fiftyone dan memberi kami bintang!
FiftyOne adalah perpustakaan open source untuk membangun kumpulan data berkualitas tinggi dan model visi komputer. Mesinlah yang menggerakkan proyek ini.
Terima kasih telah berkunjung! ?
Jika Anda ingin bergabung dengan komunitas insinyur, peneliti, dan praktisi yang tumbuh cepat yang menyukai AI Visual, bergabunglah dengan komunitas Fiftyone Slack!