코드 줄을 쓰지 않고 이미지 나 비디오를 검색 할 수 있습니까? 일반 영어로 요청하여 데이터에서 통찰력을 추출하고 싶습니까? 이제 당신은 할 수 있습니다! ?
Voxelgpt는 대형 언어 모델 (LLM)과 LMM (Large Multimodal Models)의 힘을 FiftyOne의 컴퓨터 비전 쿼리 언어와 결합하여 자연 언어를 사용하여 데이터에 대한 질문을 필터링, 정렬, 슬라이스 및 질문 할 수있는 Fiftyone 플러그인입니다. 물론 승인을 통해 데이터 세트에서 계산을 수행 할 수도 있습니다!
gpt.fiftyone.ai에서 Voxelgpt Live를 사용해 볼 수 있습니다!
Voxelgpt는 다음 유형의 쿼리를 처리 할 수 있습니다.
Voxelgpt에게 질문을 할 때 의도를 해석하고 어떤 유형의 쿼리를 요구할 것입니다. Voxelgpt가 확실하지 않으면 명확히 해달라고 요청합니다.
Voxelgpt는 데이터 세트에 대한 다음 유형의 쿼리를 처리 할 수 있습니다.
Voxelgpt에게 데이터 세트를 검색하도록 요청할 수 있습니다. 다음은 물어볼 수있는 몇 가지 예입니다.
후드 아래에서 Voxelgpt는 쿼리를 해석하여 해당 데이터 세트보기로 변환합니다. Voxelgpt는 데이터 세트의 스키마와 평가 실행 및 유사성 인덱스와 같은 것들을 이해합니다.
또한 특정 엔티티를 검색하기 위해 데이터 세트의 내용을 자동으로 검사 할 수 있습니다.
Voxelgpt는 데이터 세트의 스키마, 뇌 실행, 평가 실행 등에 대한 질문에 답변 할 수 있습니다. 몇 가지 예는 다음과 같습니다.
데이터 세트에 하나 이상의 fo.Detections 필드가 포함 된 경우 Voxelgpt는 경계 상자의 크기 (상대 및 절대)와 탐지 수를 기반으로 필터 또는 일치 할 수 있습니다.
데이터 세트에 GeoLocation 필드가있는 경우 데이터 세트에서 지리적 쿼리를 실행할 수 있습니다. Voxelgpt는 지오 코딩을 수행하여 위치 이름 (또는 텍스트 설명)에서 (lon, lat) 쌍 또는 경계 영역을 정의하는 (lon, lat) 점 목록으로 이동할 수 있습니다. 몇 가지 예는 다음과 같습니다.
데이터 세트에 Date 또는 DateTime 필드가있는 경우 Voxelgpt에 다음과 같은 시간 쿼리를 수행 할 수 있습니다.
event 필드가있는 샘플을 보여주세요. Voxelgpt는 Fiftyone에서 집계 단계에 액세스 할 수 있으므로 전체 데이터 세트에 대한 필드 또는 표현식에 대해 count , mean , sum , std , min , max , values 과 distinct 집계를 수행하거나 데이터 세트에 대한 뷰를 수행 할 수 있습니다. 몇 가지 예는 다음과 같습니다.
cat 라벨에는 몇 개의 이미지가 있습니까?confidence 필드의 표준 편차는 무엇입니까?Voxelgpt는 다음과 같은 데이터 세트에서 계산을 수행 할 수 있습니다.
Voxelgpt에게 요청할 수있는 계산 쿼리의 몇 가지 예는 다음과 같습니다.
Voxelgpt가 계산을 실행하도록 허용하지 않으려면 환경 변수를 설정하십시오.
export VOXELGPT_ALLOW_COMPUTATIONS=falseVoxelgpt가 계산 실행 권한을 요청 해야하는 최소 데이터 세트 크기를 설정할 수도 있습니다.
export VOXELGPT_APPROVAL_THRESHOLD=1000기본값은 100 개의 샘플입니다.
Voxelgpt는 쌍 프로그래머 일뿐 만 아니라; 또한 교육 도구이기도합니다. Voxelgpt는 Voxel51 블로그의 모든 블로그 게시물뿐만 아니라 Voxel51 YouTube 채널의 비디오에서 전사 된 전체 블로그 게시물에 액세스 할 수 있습니다. 이러한 모든 리소스를 사용하여 50 개의 관련 질문에 답변 할 수 있습니다.
다음은 Voxelgpt를 요청할 수있는 문서 쿼리의 몇 가지 예입니다.
Voxelgpt는 Voxel51의 문서, 블로그 및 YouTube 채널에서 가장 유용한 리소스에 대한 링크를 제공 할 것입니다. YouTube 동영상의 경우 링크는 가장 관련성이 높은 타임 스탬프를 직접 지적합니다!
Voxelgpt는 다음을 포함하여 Fiftyone을 실행하는 환경에 대한 질문에 답변 할 수 있습니다.
다음은 Voxelgpt에게 요청할 수있는 작업 공간 쿼리의 몇 가지 예입니다.
마지막으로 Voxelgpt는 컴퓨터 비전, 기계 학습 및 데이터 과학에 대한 일반적인 질문에 답변 할 수 있습니다. 기본 개념을 이해하고 데이터 품질 문제를 극복하는 방법을 배우는 데 도움이 될 수 있습니다.
Voxelgpt에게 요청할 수있는 머신 러닝 쿼리의 몇 가지 예는 다음과 같습니다.
아직하지 않은 경우 50one을 설치하십시오.
pip install fiftyone또한 OpenAI API 키를 제공해야합니다 (생성) :
export OPENAI_API_KEY=XXXXXXXX개인 Azure 배포와 함께 사용하려면 여기를 참조하십시오
Fiftyone 앱에서 Voxelgpt 만 사용하려면 플러그인으로 간단히 설치할 수 있습니다.
fiftyone plugins download https://github.com/voxel51/voxelgpt
fiftyone plugins requirements @voxel51/voxelgpt --install voxelgpt 모듈을 직접 사용하거나 로컬로 프로젝트를 개발하려면 리포지토리를 복제하려면 다음과 같습니다.
git clone https://github.com/voxel51/voxelgpt
cd voxelgpt요구 사항 설치 :
pip install -r requirements.txt플러그인 디렉토리에 동성화하여 Fiftyone 앱에서 사용할 수있는 플러그인을 사용할 수 있도록하십시오.
# Symlinks your clone of voxelgpt into your FiftyOne plugins directory
ln -s " $( pwd ) " " $( fiftyone config plugins_dir ) /voxelgpt "Fiftyone 팀 배치에 Voxelgpt를 추가하고 싶습니까? 당신은 할 수 있습니다! 여기에 지침.
다음 환경 변수를 설정하여 개인 Azure 배포와 함께 Voxelgpt를 사용할 수 있습니다.
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 >처음 세 가지 환경 변수 중 하나가 설정되지 않은 경우 VoxelGPT는 OpenAI API 사용에 기본값을받습니다. 마지막 세 가지 환경 변수의 경우, 그 중 하나라도 자원을 찾을 수없는 경우 Voxelgpt는 해당 특정 모델에 OpenAI API를 사용하는 데 기본값을받습니다.
데이터 세트를로드하여 50one 앱에서 Voxelgpt를 사용할 수 있습니다.
import fiftyone as fo
import fiftyone . zoo as foz
dataset = foz . load_zoo_dataset ( "quickstart" )
session = fo . launch_app ( dataset )그리고 둘 중 하나 :
+ 아이콘을 누르고 Voxelgpt 선택예를 들어 다음 질문을 해보십시오.
Pro Tip : now Keyword를 사용하여 다음 쿼리의 컨텍스트로 이전 프롬프트를 통합하십시오!
키보드의 ~ 키를 눌러 목록에서 Ask VoxelGPT 선택하여 Voxelgpt를 연산자로 실행할 수도 있습니다. 쿼리를 입력 할 수있는 작은 모달이 열립니다.
로컬로 설치 한 경우 Python을 통해 Voxelgpt와 직접 상호 작용할 수도 있습니다.
ask_voxelgpt_interactive() 사용하여 input() 프롬프트를 통해 Voxelgpt와 대화 할 수있는 대화식 세션을 시작할 수 있습니다. Voxelgpt가있는 디렉토리로 이동하여 실행하십시오.
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 ) Pro Tip : now Keyword를 사용하여 다음 쿼리의 컨텍스트로 이전 프롬프트를 통합하십시오.
평소와 같이 데이터 세트, 문서 및 일반적인 컴퓨터 비전 쿼리의 조합으로 Voxelgpt를 자극 할 수 있습니다. 예를 들어 대화는 다음과 같습니다.
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
대화식 모드에서 Voxelgpt는 앱에서 생성 한 모든 뷰를 자동으로로드하고 세션 객체를 통해 액세스 할 수 있습니다.
print ( session . view . count ( "predictions.detections" )) ask_voxelgpt() 사용하여 개별 쿼리로 VoxelGpt를 프롬프트 할 수도 있습니다.
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
Voxelgpt가 귀하의 쿼리에 대한 응답으로보기를 작성하면 다음이 반환됩니다.
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는 의도를 이해하는 데 도움이되는 특정 키워드를 인식하도록 교육을 받았습니다.
| 예어 | 의미 |
|---|---|
show / display | Voxelgpt에게 데이터 세트를 쿼리하고 결과를 표시하기를 원한다고 말합니다. |
docs / how / FiftyOne | Voxelgpt에게 Fiftyone Docs를 쿼리하기를 원한다고 말합니다. |
now | 채팅 기록을 컨텍스트로 사용하여 다음 쿼리를 해석하십시오. 예를 들어, "사람들과 함께 이미지를 보여줘"라고 물었고 "지금 가장 독특한 10 가지를 보여주세요"라고 물어 보면 Voxelgpt는 가장 독특한 이미지를 사람들과 함께 보여주고 싶다는 것을 이해합니다. |
help | 사용 지침으로 도움말 메시지를 인쇄합니다 |
reset | 대화 역사를 재설정합니다 |
exit | 대화식 파이썬 세션을 종료합니다 |
기부금을 환영합니다! 지침은 기고 가이드를 확인하십시오.
Voxelgpt 사용 :
Voxelgpt는 비디오, 그룹화 된 데이터 세트 및 3D 미디어에 대한 제한된 지원을 제공합니다. 기본 필터링, 쿼리 및 집계는 여전히 작동하지만 3D 데이터에 대한 깊은 통찰력을 기대하지는 않습니다.
이 구현은 제한된 예제 세트를 기반으로하므로 모든 데이터 세트에 잘 맞지 않을 수 있습니다. 쿼리가 더 구체적 일수록 결과가 더 좋아집니다. 결과가 당신이 기대하는 것이 아니라는 것을 알게되면 알려주십시오!
당신이 지금까지 그것을 만들었다면, 우리는 당신이 50 절을 확인하고 우리에게 스타를주는 데 잠시 시간을 내면 크게 감사하겠습니다!
FiftyOne은 고품질 데이터 세트 및 컴퓨터 비전 모델을 구축하기위한 오픈 소스 라이브러리입니다. 이 프로젝트에 힘을 발휘하는 엔진입니다.
방문해 주셔서 감사합니다! ?
시각 AI를 좋아하는 빠르게 성장하는 엔지니어, 연구원 및 실무자 커뮤니티에 가입하려면 Fiftyone Slack 커뮤니티에 가입하십시오!