मेरे पास एक मैट्रिक्स है और मैं 256x120 आकार वाली छवियों के साथ 2 चैनल मैट्रिक्स प्राप्त कर रहा हूं। अब, मुझे कई छवियों को संग्रहीत करने की आवश्यकता है, इसलिए मुझे अपने मैट्रिक्स को (No.ofimages,256,120,2) पर फिर से आकार देना होगा।

मैंने रीशेप का उपयोग करने की कोशिश की और फिर संलग्न किया:

लेकिन मुझे फिर से आकार देने पर TypeError: 'builtin_function_or_method' object is not subscriptable मिल रहा है

मैं इसे कैसे हल कर सकता हूं इस पर कोई विचार?

0
Jason 14 जिंदा 2021, 13:19
आप (112, 112, 2) को (14394,112,112,2) में दोबारा नहीं बदल सकते। सुनिश्चित नहीं हैं कि आपका input_shape क्या है जिसका आप उपयोग कर रहे हैं।
 – 
Jonas Palačionis
14 जिंदा 2021, 13:26
1
आपको आकार (14394,112,112,2) के साथ मैट्रिक्स बनाना चाहिए और फिर अपनी पहली छवि को आकार (112, 112, 2) के साथ पहले तत्व के रूप में स्टोर करना चाहिए।
 – 
Vincent Bénet
14 जिंदा 2021, 13:28

1 उत्तर

सबसे बढ़िया उत्तर

आपकी समस्या के बारे में मेरी वर्तमान समझ के आधार पर:

import numpy as np

img = np.random.random((112,112,2))
print(img.shape)

result = np.empty((0, 112, 112, 2))  # first axis is zero, for adding images along it

for i in range(100):        # replace this loop with something that reads in the images
    result = np.append(result, img[np.newaxis, ...], axis=0)    # add a new axis to each image and append them to result

print(result.shape)

उत्पादन करेंगे:

(112, 112, 2)
(100, 112, 112, 2)

परिणाम चर में संग्रहीत छवियों तक पहुँचने के लिए, बस अनुक्रमण का उपयोग करें:

print(result[1].shape)   # e.g., access the second image

उत्पादन करेंगे:

(112, 112, 2)
0
anurag 14 जिंदा 2021, 13:38