हां, यह संभव है। बस अपने आप से वस्तुओं को बनाएँ, उदा।
import torch.utils.data as data_utils
train = data_utils.TensorDataset(features, targets)
train_loader = data_utils.DataLoader(train, batch_size=50, shuffle=True)
जहां features
और targets
tensors हैं। features
2-डी होना चाहिए, यानी एक मैट्रिक्स जहां प्रत्येक पंक्ति एक प्रशिक्षण नमूना का प्रतिनिधित्व करती है, और targets
1-डी या 2-डी हो सकता है, इस पर निर्भर करता है कि आप स्केलर या वेक्टर की भविष्यवाणी करने की कोशिश कर रहे हैं या नहीं।
आशा है कि मदद करता है!
संपादित: @ सार्थक के सवाल के जवाब
मूल रूप से हाँ। आप प्रकार TensorData
की एक वस्तु बनाने हैं, तो निर्माता की जांच करें कि क्या सुविधा टेन्सर के पहले आयाम (जो वास्तव में data_tensor
कहा जाता है) और लक्ष्य टेन्सर (target_tensor
कहा जाता है) एक ही लंबाई है:
assert data_tensor.size(0) == target_tensor.size(0)
हालांकि, यदि आप बाद में एक तंत्रिका नेटवर्क में इन आंकड़ों को खिलाना चाहते हैं, तो आपको सावधान रहना होगा। जबकि संकल्प परतें आपके जैसे डेटा पर काम करती हैं, (मुझे लगता है) अन्य सभी प्रकार की परतें डेटा को मैट्रिक्स रूप में दी जाने की उम्मीद करती हैं। इसलिए, यदि आप इस तरह के किसी मुद्दे में भाग लेते हैं, तो एक आसान समाधान आपके 4 डी-डेटासेट (कुछ प्रकार के टेंसर के रूप में दिया गया है, उदाहरण के लिए FloatTensor
) विधि view
का उपयोग कर मैट्रिक्स में परिवर्तित करना होगा। अपने 5000xnxnx3 डाटासेट के लिए, यह इस तरह दिखेगा:
2d_dataset = 4d_dataset.view(5000, -1)
(। मूल्य -1
PyTorch बताता है स्वचालित रूप से दूसरे आयाम की लंबाई यह पता लगाने की)
data.Dataset
वर्ग
मेरे पास 3 डी विशेषताएं हैं: एक छवि के लिए 2 डी और रंगीन चैनलों के लिए एक अतिरिक्त आयाम। अगर मैं 5000xnxnx3 के रूप में सुविधाओं को पास करता हूं तो यह अभी भी काम करेगा। 5000 डेटा पॉइंट्स की संख्या nxnx3 है छवि का आकार – Sarthak
असल में हाँ, लेकिन मेरे उत्तर के संपादन की जांच करें। – pho7
ए 4 डी डेटासेट को फीचर के रूप में पारित किया जा सकता है, दृश्य विवरण के लिए कोई आवश्यकता नहीं है। – Sarthak