Batch Processing
आपके लिए provision की गई cloud infrastructure के साथ images के बड़े batches और stored videos पर Workflows चलाएँ।
के बारे में
बैच प्रोसेसिंग चलाने का एक किफायती तरीका है वर्कफ़्लोज़ छवियों और संग्रहीत वीडियो के बैचों पर। यह बड़े पैमाने पर डेटा को एसिंक्रोनस रूप से प्रोसेस करने के लिए आदर्श है।
बैच प्रोसेसिंग बड़े बैच को चलाने के लिए आवश्यक इन्फ्रास्ट्रक्चर को स्वतः प्रावधानित करती है।
आप Roboflow वेब इंटरफ़ेस के माध्यम से या हमारे API (CLI के माध्यम से) के जरिए एक Batch Processing जॉब कॉन्फ़िगर कर सकते हैं।
जब आप जॉब शुरू करते हैं, तो आपके डेटा को प्रोसेस करने के लिए क्लाउड में मशीनें प्रावधानित की जाएंगी। इसके बाद आपको उस वर्कफ़्लो का आउटपुट सहित एक JSON फ़ाइल मिलेगी जिसे आपने अपने डेटा पर चलाने के लिए चुना है।
निम्नलिखित वीडियो Batch Processing को विस्तार से समझाता है:
वेब ऐप
बैच प्रोसेसिंग जॉब बनाएं
बैच प्रोसेसिंग जॉब बनाने के लिए, अपने Roboflow डैशबोर्ड की बाईं साइडबार में Deployments पर क्लिक करें। फिर, "Batch Processing" टैब पर क्लिक करें:

बैच प्रोसेसिंग जॉब बनाने के लिए "New Batch Job" पर क्लिक करें।
एक विंडो खुलेगी जिसमें आप अपना जॉब कॉन्फ़िगर कर सकते हैं:

एक वर्कफ़्लो चुनें
जॉब कॉन्फ़िगर करना शुरू करने के लिए, पहले एक वर्कफ़्लो चुनें। यदि आपके पास पहले से वर्कफ़्लो नहीं है, तो शुरुआत करने के लिए हमारे Workflows दस्तावेज़ देखें।
छवियाँ या वीडियो अपलोड करें
इसके बाद, आपको वे छवियाँ या वीडियो अपलोड करने होंगे जिन पर आप अपना वर्कफ़्लो चलाना चाहते हैं।
हार्डवेयर कॉन्फ़िगर करें
आप अपना Batch Processing जॉब CPU या GPU पर चला सकते हैं। GPU जॉब तेज़ होते हैं, लेकिन अधिक महंगे होते हैं।
मूल्य निर्धारण की जानकारी के लिए, Roboflow के मूल्य निर्धारण दस्तावेज़ देखें।
अपने जॉब के लिए CPU या GPU में से किसी एक का चयन करें:

"Advanced Options" टैब के अंतर्गत कई उन्नत कॉन्फ़िगरेशन विकल्प भी उपलब्ध हैं। हम सुझाव देते हैं कि इन विकल्पों को डिफ़ॉल्ट रहने दें।
जॉब शुरू करें
बैच प्रोसेसिंग जॉब शुरू करने के लिए, "Create Batch Job" पर क्लिक करें।
आपके जॉब के लिए इन्फ्रास्ट्रक्चर प्रावधानित किया जाएगा और प्रोसेसिंग शुरू हो जाएगी।
जॉब की प्रगति पर नज़र रखें
जब आप अपना जॉब शुरू करते हैं, तो एक स्टेटस इंडिकेटर दिखाई देगा जो बताएगा कि प्रोसेसिंग कब कॉन्फ़िगर की जा रही है, कब बैच डेटा प्रोसेस हो रहा है, और कब जॉब पूरा हो गया है।
आप रीयल टाइम में देख सकते हैं कि बैच का कितना हिस्सा प्रोसेस हो चुका है।
आपके डेटा को प्रोसेस करने में लगने वाला समय इस बात पर निर्भर करता है कि आप कितनी छवियाँ या वीडियो प्रोसेस कर रहे हैं, आपके वर्कफ़्लो की जटिलता क्या है, और आपने CPU या GPU हार्डवेयर चुना है या नहीं।
जॉब के विवरण देखने के लिए उसे खोलें, जिसमें "Input Source" भी शामिल है, जो दिखाता है कि जॉब किन छवियों पर चला: एसेट लाइब्रेरी उन्हें चुनने के लिए उपयोग की गई खोज क्वेरी (उस चयन को फिर से खोलने के लिए एक लिंक सहित), या मैन्युअल रूप से चुनी गई छवियों की संख्या।
ऐप से वर्कफ़्लो चलाएँ
के अलावा API और CLI, आप Roboflow ऐप से सीधे एक Batch Processing जॉब शुरू करके एक वर्कफ़्लो संग्रहीत छवियों के बड़े सेटों पर चला सकते हैं। ऐसा करने के तीन तरीके हैं:
ज़रूरत पड़ने पर, Asset Library से।
ज़रूरत पड़ने पर, Roboflow Agent से पूछकर।
स्वचालित रूप से, हर बार जब एक डेटासोर्स क्लाउड बकेट से नई छवियाँ मिरर करता है।
Asset Library से
यह एसेट लाइब्रेरी आपको चयनित छवियों पर, आवश्यकता अनुसार, एक वर्कफ़्लो चलाने देता है।
छवियाँ मैन्युअल रूप से चुनें, या अपनी वर्तमान खोज से मेल खाने वाली सभी छवियाँ चुनें, फिर "Run Workflow" पर क्लिक करें। परिणामों को आपकी छवियों पर वापस लिखने सहित पूरी प्रक्रिया के लिए देखें वर्कफ़्लो चलाना.
Agent से
पूछें Roboflow Agent को अपने एसेट लाइब्रेरी: आपकी चुनी हुई छवियाँ, खोज से मेल खाने वाली छवियाँ, या पूरी लाइब्रेरी। Agent आपके जॉब्स की सूची भी दिखा सकता है और किसी एक की स्थिति बता सकता है। Agent द्वारा शुरू किए गए जॉब को Background Tasks और "Batch Processing" टैब में ट्रैक करें। जॉब पूरा होने पर Agent आपको चैट में बताता है।
जब Datasource मिरर करता है, तब स्वचालित रूप से
एक डेटासोर्स क्लाउड बकेट से छवियों और मेटाडेटा को आपके Workspace में मिरर करता है। हर बार मिरर द्वारा आयात की गई नई छवियों पर आप स्वचालित रूप से एक वर्कफ़्लो चला सकते हैं। इससे टैगिंग, क्वालिटी स्कोरिंग, या प्री-लेबलिंग जैसी समृद्धि नए डेटा के आने के साथ बिना किसी मैन्युअल चरण के अद्यतित रहती है।
आप इन ऑटोमेशनों को अपने Datasources पृष्ठ के "Workflow runs" अनुभाग में कॉन्फ़िगर करते हैं।
ऑटोमेशन जोड़ने के लिए:
"Workflow runs" अनुभाग में, "Add workflow run" पर क्लिक करें।
ऑटोमेशन के लिए एक नाम दर्ज करें।
"Run when" के अंतर्गत, "On Sync" चुनें और Datasources उसको चुनें जो इसे ट्रिगर करना चाहिए।
चलाने के लिए वर्कफ़्लो चुनें। इसमें ठीक एक
छविइनपुट होना चाहिए।एक मशीन प्रकार (CPU या GPU) चुनें।
"Create" पर क्लिक करें।
हर बार जब चयनित Datasources में से कोई एक मिरर करता है, तो ऑटोमेशन उस मिरर द्वारा आयात की गई छवियों पर Batch Processing जॉब के रूप में वर्कफ़्लो चलाता है। प्रगति को Activity Center और Deployments के अंतर्गत "Batch Processing" टैब में ट्रैक करें, ठीक किसी अन्य Batch Processing जॉब की तरह।
वर्कफ़्लो से अपने परिणामों को आपकी छवियों पर वापस लिखवाने के लिए, ताकि आप उन्हें Asset Library में खोज सकें, देखें परिणामों को Asset Library में वापस लिखना.
API या CLI के साथ जॉब चलाएँ
प्रोग्रामेटिक रूप से एक Batch Processing जॉब बनाने और चलाने के लिए, देखें HTTP API और CLI नीचे दिए गए अनुभाग। सामान्य समस्याओं को डिबग करने के लिए देखें समस्या निवारण.
HTTP API
त्वरित लिंक:
डेटा इनजेस्ट करें (वीडियो, एकल छवि, छवियाँ)
बैच स्थिति जांचें (आइटम संख्या, शार्ड विवरण)
जॉब की प्रगति पर नज़र रखें (जॉब स्थिति, चरण, कार्य)
परिणाम निर्यात करें (आउटपुट भाग, डाउनलोड URLs)
डेटा इनजेस्ट करें
वीडियो अपलोड करें
Request a signed URL to upload a video file. After receiving the response, PUT the video to the uploadURL with the provided extensionHeaders.
Your Roboflow workspace identifier.
Batch identifier. Lowercase, max 64 chars: letters, digits, hyphens, underscores.
^[a-z0-9_-]+$Your Roboflow API key.
Name of the video file (e.g. my_video.mp4).
Signed URL details for uploading the video.
okPOST /data-staging/v1/external/{workspace}/batches/{batch_id}/upload/video?api_key=text&fileName=text HTTP/1.1
Host: api.roboflow.com
Accept: */*
Signed URL details for uploading the video.
{
"status": "ok",
"signedURLDetails": {
"uploadURL": "text",
"method": "PUT",
"extensionHeaders": {
"Content-Type": "application/octet-stream",
"x-goog-content-length-range": "1,1073741824"
},
"maxFileSize": 1073741824
}
}छवि अपलोड करें
Upload a single image via multipart form data. Best for batches up to 5,000 images.
Note: Single-image and bulk uploads cannot be combined for the same batch.
Your Roboflow workspace identifier.
Batch identifier. Lowercase, max 64 chars: letters, digits, hyphens, underscores.
^[a-z0-9_-]+$Your Roboflow API key.
Name of the image file.
The image file to upload.
Image uploaded successfully.
okPOST /data-staging/v1/external/{workspace}/batches/{batch_id}/upload/image?api_key=text&fileName=text HTTP/1.1
Host: api.roboflow.com
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17
{
"file": "binary"
}Image uploaded successfully.
{
"status": "ok"
}छवियाँ बल्क में अपलोड करें
Request a signed URL for uploading a .tar archive of images. Recommended for batches exceeding 5,000 images. Bundle up to 500 images per archive.
The response contains a signed URL and extension headers. Pack images into a .tar archive and PUT it to the signed URL.
Note: Bulk and single-image uploads cannot be combined for the same batch.
When performing bulk ingestion, data is indexed in the background. There may be a short delay before all data is available.
Your Roboflow workspace identifier.
Batch identifier. Lowercase, max 64 chars: letters, digits, hyphens, underscores.
^[a-z0-9_-]+$Your Roboflow API key.
Signed URL details for uploading a tar archive.
okPOST /data-staging/v1/external/{workspace}/batches/{batch_id}/bulk-upload/image-files?api_key=text HTTP/1.1
Host: api.roboflow.com
Accept: */*
Signed URL details for uploading a tar archive.
{
"status": "ok",
"signedURLDetails": {
"shardId": "123e4567-e89b-12d3-a456-426614174000",
"uploadURL": "text",
"method": "PUT",
"extensionHeaders": {
"Content-Type": "application/x-tar",
"x-goog-content-length-range": "1,536870912"
},
"maxNumberOfImages": 500,
"maxShardSize": 536870912
}
}बैच स्थिति जांचें
Returns the count of ingested items in a batch. Use this to verify all data has been ingested before starting a job.
Your Roboflow workspace identifier.
Batch identifier. Lowercase, max 64 chars: letters, digits, hyphens, underscores.
^[a-z0-9_-]+$Your Roboflow API key.
Batch item count.
okNumber of items in the batch.
42GET /data-staging/v1/external/{workspace}/batches/{batch_id}/count?api_key=text HTTP/1.1
Host: api.roboflow.com
Accept: */*
Batch item count.
{
"status": "ok",
"count": 42
}शार्ड अपलोड विवरण जांचें
Returns shard details for a bulk-upload batch. Paginated — use nextPageToken from the response to fetch subsequent pages.
Your Roboflow workspace identifier.
Batch identifier. Lowercase, max 64 chars: letters, digits, hyphens, underscores.
^[a-z0-9_-]+$Your Roboflow API key.
Pagination token from a previous response.
Paginated list of batch shards.
okList of shard objects.
Token for fetching the next page of results. null if no more pages.
GET /data-staging/v1/external/{workspace}/batches/{batch_id}/shards?api_key=text HTTP/1.1
Host: api.roboflow.com
Accept: */*
Paginated list of batch shards.
{
"status": "ok",
"shards": [
{}
],
"nextPageToken": "text"
}जॉब शुरू करें
Start a batch processing job that runs a Workflow against staged data.
Job ID constraints: Lowercase letters, digits, hyphens, and underscores only. Maximum 20 characters.
Your Roboflow workspace identifier.
Job identifier. Lowercase, max 20 chars: letters, digits, hyphens, underscores.
^[a-z0-9_-]+$Your Roboflow API key.
Job type.
Maximum cumulative machine runtime in seconds across all parallel workers.
3600Webhook URL for job completion notifications. Custom webhook headers are not yet supported. The only header sent is Authorization: Bearer rf_{workspace_id}.
Job started successfully.
okPOST /batch-processing/v1/external/{workspace}/jobs/{job_id}?api_key=text HTTP/1.1
Host: api.roboflow.com
Content-Type: application/json
Accept: */*
Content-Length: 415
{
"type": "simple-image-processing-v1",
"jobInput": {
"type": "staging-batch-input-v1",
"batchId": "text"
},
"computeConfiguration": {
"type": "compute-configuration-v2",
"machineType": "cpu",
"workersPerMachine": 4
},
"processingTimeoutSeconds": 3600,
"processingSpecification": {
"type": "workflows-processing-specification-v1",
"workspace": "text",
"workflowId": "text",
"aggregationFormat": "jsonl"
},
"notificationsURL": "https://example.com"
}Job started successfully.
{
"status": "ok"
}जॉब की प्रगति पर नज़र रखें
जॉब स्थिति प्राप्त करें
Returns the current status of a batch processing job.
Your Roboflow workspace identifier.
Job identifier. Lowercase, max 20 chars: letters, digits, hyphens, underscores.
^[a-z0-9_-]+$Your Roboflow API key.
Job status details.
okCurrent job status (e.g. pending, processing, completed, failed).
Processing progress as a fraction between 0 and 1.
GET /batch-processing/v1/external/{workspace}/jobs/{job_id}?api_key=text HTTP/1.1
Host: api.roboflow.com
Accept: */*
Job status details.
{
"status": "ok",
"jobStatus": "text",
"progress": 1
}जॉब चरणों की सूची देखें
Returns the list of stages for a job. Each job typically has processing and export stages, each producing an output batch.
Your Roboflow workspace identifier.
Job identifier. Lowercase, max 20 chars: letters, digits, hyphens, underscores.
^[a-z0-9_-]+$Your Roboflow API key.
List of job stages.
okList of stage objects. Each stage has an ID and an output batch ID.
GET /batch-processing/v1/external/{workspace}/jobs/{job_id}/stages?api_key=text HTTP/1.1
Host: api.roboflow.com
Accept: */*
List of job stages.
{
"status": "ok",
"stages": [
{}
]
}चरण कार्यों की सूची देखें
Returns the list of tasks for a specific job stage. Paginated — use nextPageToken from the response to fetch subsequent pages.
Your Roboflow workspace identifier.
Job identifier. Lowercase, max 20 chars: letters, digits, hyphens, underscores.
^[a-z0-9_-]+$The stage identifier.
Your Roboflow API key.
Pagination token from a previous response.
Paginated list of tasks.
okList of task objects.
Token for fetching the next page of results. null if no more pages.
GET /batch-processing/v1/external/{workspace}/jobs/{job_id}/stages/{stage_id}/tasks?api_key=text HTTP/1.1
Host: api.roboflow.com
Accept: */*
Paginated list of tasks.
{
"status": "ok",
"tasks": [
{}
],
"nextPageToken": "text"
}परिणाम निर्यात करें
आउटपुट भागों की सूची देखें
Lists the parts of an output batch. Use the export stage output batch for compressed results.
Your Roboflow workspace identifier.
Batch identifier. Lowercase, max 64 chars: letters, digits, hyphens, underscores.
^[a-z0-9_-]+$Your Roboflow API key.
List of batch parts.
okGET /data-staging/v1/external/{workspace}/batches/{batch_id}/parts?api_key=text HTTP/1.1
Host: api.roboflow.com
Accept: */*
List of batch parts.
{
"status": "ok",
"parts": [
{
"partName": "text"
}
]
}डाउनलोड URLs की सूची देखें
Returns paginated download URLs for files in a batch part.
Your Roboflow workspace identifier.
Batch identifier. Lowercase, max 64 chars: letters, digits, hyphens, underscores.
^[a-z0-9_-]+$Your Roboflow API key.
Pagination token from a previous response.
Filter by part name (from the list parts response).
Paginated list of download URLs.
okToken for fetching the next page of results. null if no more pages.
GET /data-staging/v1/external/{workspace}/batches/{batch_id}/list?api_key=text HTTP/1.1
Host: api.roboflow.com
Accept: */*
Paginated list of download URLs.
{
"status": "ok",
"filesMetadata": [
{
"downloadURL": "text",
"fileName": "text",
"partName": "text",
"shardId": "text",
"contentType": "text",
"nestedContentType": "text"
}
],
"nextPageToken": "text"
}वेबहुक सूचनाएँ
स्थिति के लिए बार-बार पोल करने के बजाय, आप webhooks का उपयोग करके सूचित हो सकते हैं जब इनजेशन या प्रोसेसिंग पूरी हो जाए। देखें CLI उपयोग webhook कॉन्फ़िगरेशन और payload प्रारूपों के लिए।
CLI
इंस्टॉल करके inference-cli आपको पहुँच मिलती है inference rf-cloud कमांड की, जो आपको Batch Processing और Data Staging - Roboflow Batch Processing के मुख्य घटकों - के साथ इंटरैक्ट करने देती है।
सेटअप
क्लाउड स्टोरेज समर्थन के लिए:
यदि आपको अपनी API key खोजने में मदद चाहिए, तो हमारा देखें प्रमाणीकरण गाइड.
डेटा इनजेस्ट करें
छवियाँ
वीडियो
क्लाउड स्टोरेज
यदि आपका डेटा पहले से ही क्लाउड स्टोरेज (S3, Google Cloud Storage, या Azure) में है, तो आप उसे सीधे स्थानीय रूप से फ़ाइलें डाउनलोड किए बिना प्रोसेस कर सकते हैं।
छवियों के लिए:
वीडियो के लिए:
यह --bucket-path पैरामीटर निम्नलिखित प्रदाताओं का समर्थन करता है। Glob पैटर्न यह फ़िल्टर करते हैं कि कौन सी फ़ाइलें इनजेस्ट की जाएँगी:
S3
s3://bucket-name/path/
s3://my-bucket/training-data/**/*.jpg - सभी JPGs को रेकर्सिव रूप से
Google Cloud Storage
gs://bucket-name/path/
gs://my-bucket/videos/2024-*/*.mp4 - में MP4s 2024-* फ़ोल्डरों
Azure Blob Storage
az://container-name/path/
az://container/images/*.png - images फ़ोल्डर में PNGs
जनरेट किए गए presigned URLs 24 घंटे तक वैध होते हैं। सुनिश्चित करें कि आपका बैच प्रोसेसिंग जॉब इस समय सीमा के भीतर पूरा हो जाए।
बड़े डेटासेट के लिए, सिस्टम स्वतः छवियों को 20,000 फ़ाइलों के चंक्स में विभाजित कर देता है। वीडियो 1,000 से कम के बैचों में सबसे अच्छा काम करते हैं।
Signed URL इनजेशन
उन्नत ऑटोमेशन के लिए, आप स्थानीय फ़ाइलों के बजाय signed URLs के माध्यम से डेटा इनजेस्ट कर सकते हैं:
--data-source references-file
signed URLs के माध्यम से संदर्भित फ़ाइलों को प्रोसेस करें।
--references <path_or_url>
फ़ाइल URLs वाली एक JSONL फ़ाइल का पथ, या ऐसी फ़ाइल की ओर इंगित करने वाला signed URL।
संदर्भ फ़ाइल प्रारूप (JSONL):
स्टेज किए गए डेटा का निरीक्षण करें
जॉब शुरू करें
छवियों को प्रोसेस करें
वीडियो प्रोसेस करें
जॉब की प्रगति पर नज़र रखें
start कमांड एक Job IDआउटपुट देता है। स्थिति जांचने के लिए इसका उपयोग करें:
परिणाम निर्यात करें
जॉब विवरण में शामिल होगा आउटपुट बैच ID। परिणाम निर्यात करने के लिए इसका उपयोग करें:
वेबहुक ऑटोमेशन
स्थिति के लिए पोल करने के बजाय, आप webhooks का उपयोग करके सूचित हो सकते हैं जब इनजेशन या प्रोसेसिंग पूरी हो जाए।
डेटा इनजेशन Webhooks
CLI कमांड create-batch-of-images और create-batch-of-videos समर्थन करते हैं:
--notifications-url <webhook_url>
सूचनाओं के लिए webhook एंडपॉइंट।
--notification-category ingest-status
समग्र इनजेशन प्रक्रिया स्थिति। डिफ़ॉल्ट।
--notification-category files-status
व्यक्तिगत फ़ाइल प्रोसेसिंग स्थिति।
सूचनाएँ HTTP POST के माध्यम से एक Authorization हेडर के साथ वितरित की जाती हैं, जिसमें आपका Roboflow Publishable Key होता है।
इनजेशन स्थिति सूचना
फ़ाइल स्थिति सूचना
जॉब पूर्णता Webhooks
जोड़ें --notifications-url जॉब शुरू करते समय:
जॉब पूर्णता सूचना
क्लाउड स्टोरेज प्रमाणीकरण
AWS S3 और S3-संगत स्टोरेज
क्रेडेंशियल्स स्वतः इनसे पहचाने जाते हैं:
पर्यावरण चर:
AWS क्रेडेंशियल फ़ाइलें (
~/.aws/credentials,~/.aws/config)IAM भूमिकाएँ (EC2, ECS, Lambda)
नामित प्रोफ़ाइल:
S3-संगत सेवाएँ (Cloudflare R2, MinIO, आदि):
Google Cloud Storage
क्रेडेंशियल्स इनसे पहचाने जाते हैं:
सर्विस अकाउंट कुंजी फ़ाइल (ऑटोमेशन के लिए अनुशंसित):
उपयोगकर्ता क्रेडेंशियल्स gcloud CLI से (
gcloud auth login)GCP मेटाडेटा सेवा (जब Google Cloud Platform पर चल रहा हो)
Azure Blob Storage
SAS टोकन (अनुशंसित):
अकाउंट कुंजी:
Azure CLI के माध्यम से SAS टोकन जनरेट करें:
कस्टम स्क्रिप्ट
उन्नत उपयोग मामलों के लिए, signed URL फ़ाइलें जनरेट करने के लिए संदर्भ स्क्रिप्ट देखें:
AWS S3: generateS3SignedUrls.sh
Google Cloud Storage: generateGCSSignedUrls.sh
Azure Blob Storage: generateAzureSasUrls.sh
सभी विकल्प खोजें
अंतिम अपडेट
क्या यह उपयोगी था?