एक PyTorch टेंसर एक n-आयामी सरणी (मैट्रिक्स) है जिसमें एकल डेटा प्रकार के तत्व होते हैं। टेंसर एक सुन्न सरणी की तरह है। संख्यात्मक सरणियों और PyTorch टेंसर के बीच का अंतर यह है कि टेंसर संख्यात्मक गणनाओं को तेज करने के लिए GPU का उपयोग करते हैं। त्वरित गणना के लिए, छवियों को टेंसर में बदल दिया जाता है।
एक छवि को एक PyTorch टेंसर में बदलने के लिए, हम निम्नलिखित कदम उठा सकते हैं -
कदम
-
आवश्यक पुस्तकालयों को आयात करें। आवश्यक पुस्तकालय हैं मशाल, मशाल दृष्टि, तकिया।
-
छवि पढ़ें। छवि या तो एक जनहित याचिका चित्र या numpy.ndarray (HxWxC) होनी चाहिए सीमा में [0, 255]। यहां एच, डब्ल्यू, और सी छवि की ऊंचाई, चौड़ाई और चैनलों की संख्या हैं।
-
छवि को टेंसर में बदलने के लिए एक परिवर्तन को परिभाषित करें। हम transforms.ToTensor() . का उपयोग करते हैं एक परिवर्तन को परिभाषित करने के लिए।
-
ऊपर बताए गए ट्रांसफ़ॉर्म का इस्तेमाल करके इमेज को टेंसर में बदलें.
इनपुट इमेज
उदाहरण 1
# Import the required libraries import torch from PIL import Image import torchvision.transforms as transforms # Read the image image = Image.open('Penguins.jpg') # Define a transform to convert the image to tensor transform = transforms.ToTensor() # Convert the image to PyTorch tensor tensor = transform(image) # print the converted image tensor print(tensor)
आउटपुट
tensor([[[0.4510, 0.4549, 0.4667, ..., 0.3333, 0.3333, 0.3333], [0.4549, 0.4510, 0.4627, ..., 0.3373, 0.3373, 0.3373], [0.4667, 0.4588, 0.4667, ..., 0.3451, 0.3451, 0.3412], ..., [0.6706, 0.5020, 0.5490, ..., 0.4627, 0.4275, 0.3333], [0.4196, 0.5922, 0.6784, ..., 0.4627, 0.4549, 0.3569], [0.3569, 0.3529, 0.4784, ..., 0.3922, 0.4314, 0.3490]], [[0.6824, 0.6863, 0.7020, ..., 0.6392, 0.6392, 0.6392], [0.6863, 0.6824, 0.6980, ..., 0.6314, 0.6314, 0.6314], [0.6980, 0.6902, 0.6980, ..., 0.6392, 0.6392, 0.6353], ..., [0.7255, 0.5412, 0.5765, ..., 0.5255, 0.5020, 0.4157], [0.4706, 0.6314, 0.7098, ..., 0.5255, 0.5294, 0.4392], [0.4196, 0.3961, 0.5020, ..., 0.4510, 0.5059, 0.4314]], [[0.8157, 0.8196, 0.8353, ..., 0.7922, 0.7922, 0.7922], [0.8196, 0.8157, 0.8314, ..., 0.7882, 0.7882, 0.7882], [0.8314, 0.8235, 0.8314, ..., 0.7961, 0.7961, 0.7922], ..., [0.6235, 0.5059, 0.6157, ..., 0.4863, 0.4941, 0.4196], [0.3922, 0.6000, 0.7176, ..., 0.4863, 0.5216, 0.4431], [0.3686, 0.3647, 0.4863, ..., 0.4235, 0.4980, 0.4353]]])
उपरोक्त पायथन कार्यक्रम में, हमने एक जनहित याचिका छवि को एक टेंसर में बदल दिया है।
उदाहरण 2
हम OpenCV . का उपयोग करके भी छवि को पढ़ सकते हैं . OpenCV का उपयोग करके पढ़ी गई छवि numpy.ndarray . प्रकार की होती है . हम एक numpy.ndarray . को रूपांतरित कर सकते हैं एक टेंसर के लिए transforms.ToTensor() . का उपयोग कर . निम्न उदाहरण पर एक नज़र डालें।
# Import the required libraries import torch import cv2 import torchvision.transforms as transforms # Read the image image = cv2.imread('Penguins.jpg') image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # Define a transform to convert the image to tensor transform = transforms.ToTensor() # Convert the image to PyTorch tensor tensor = transform(image) # Print the converted image tensor print(tensor)
आउटपुट
tensor([[[0.4510, 0.4549, 0.4667, ..., 0.3333, 0.3333, 0.3333], [0.4549, 0.4510, 0.4627, ..., 0.3373, 0.3373, 0.3373], [0.4667, 0.4588, 0.4667, ..., 0.3451, 0.3451, 0.3412], ..., [0.6706, 0.5020, 0.5490, ..., 0.4627, 0.4275, 0.3333], [0.4196, 0.5922, 0.6784, ..., 0.4627, 0.4549, 0.3569], [0.3569, 0.3529, 0.4784, ..., 0.3922, 0.4314, 0.3490]], [[0.6824, 0.6863, 0.7020, ..., 0.6392, 0.6392, 0.6392], [0.6863, 0.6824, 0.6980, ..., 0.6314, 0.6314, 0.6314], [0.6980, 0.6902, 0.6980, ..., 0.6392, 0.6392, 0.6353], ..., [0.7255, 0.5412, 0.5765, ..., 0.5255, 0.5020, 0.4157], [0.4706, 0.6314, 0.7098, ..., 0.5255, 0.5294, 0.4392], [0.4196, 0.3961, 0.5020, ..., 0.4510, 0.5059, 0.4314]], [[0.8157, 0.8196, 0.8353, ..., 0.7922, 0.7922, 0.7922], [0.8196, 0.8157, 0.8314, ..., 0.7882, 0.7882, 0.7882], [0.8314, 0.8235, 0.8314, ..., 0.7961, 0.7961, 0.7922], ..., [0.6235, 0.5059, 0.6157, ..., 0.4863, 0.4941, 0.4196], [0.3922, 0.6000, 0.7176, ..., 0.4863, 0.5216, 0.4431], [0.3686, 0.3647, 0.4863, ..., 0.4235, 0.4980, 0.4353]]])