ValueError: could not broadcast input array from shape (22500,3) into shape (1)

2024/10/15 2:33:15

I relied on the code mentioned, here, but with minor edits. The version that I have is as follows:

import numpy as np
import _pickle as cPickle
from PIL import Image
import sys,ospixels = []
labels = []
traindata = []
data=[]directory = 'C:\\Users\\abc\\Desktop\\Testing\\images'
for root, dirs, files in os.walk(directory):for file in files:floc = fileim = Image.open(str(directory) + '\\' + floc)pix = np.array(im.getdata())pixels.append(pix)labels.append(1)pixels = np.array(pixels)
labels = np.array(labels)
traindata.append(pixels)
traindata.append(labels)
traindata = np.array(traindata)
# do the same for validation and test data
# put all data and labels into 'data' array
cPickle.dump(data,open('data.pkl','wb'))

When I run the code, I get the following:

Traceback (most recent call last):File "pickle_data.py", line 24, in <module>traindata=np.array(traindata)
ValueError: could not broadcast input array from shape (22500,3) into shape (1)

How can I solve this issue?

Thanks.

Answer

To understand the structure of traindata, I replaced your pixels.append(pix) with pixels.append(pix[np.ix_([1,2,3],[0,1,2])]) to have some toy example. Then I get that traindata is

[array([[[16, 13, 15],[16, 13, 15],[16, 13, 15]]]), array([1])]

When you tried to transform traindata to numpy array you got error as it consists of subarrays of different sizes. You can either save each one of the subarrays in a separate numpy array, or you can do it like that:

traindata = np.array([traindata[0][0],traindata[1]], dtype=object)

By using dtype=object, you can create numpy array consists of elements of different sizes.

https://en.xdnf.cn/q/117882.html

Related Q&A

VGG 16/19 Slow Runtimes

When I try to get an output from the pre-trained VGG 16/19 models using Caffe with Python (both 2.7 and 3.5) its taking over 15 seconds on the net.forward() step (on my laptops CPU).I was wondering if …

Numpy vs built-in copy list

what is the difference below codesbuilt-in list code>>> a = [1,2,3,4] >>> b = a[1:3] >>> b[1] = 0 >>> a [1, 2, 3, 4] >>> b [2, 0]numpy array>>> c …

Scrapy returns only first result

Im trying to scrape data from gelbeseiten.de (yellow pages in germany)# -*- coding: utf-8 -*- import scrapyfrom scrapy.spiders import CrawlSpiderfrom scrapy.http import Requestfrom scrapy.selector impo…

Softlayer getAllBillingItems stopped working?

The following python script worked like a charm last month:Script:import SoftLayer client = SoftLayer.Client(username=someUser, api_key=someKey) LastInvoice = client[Account].getAllBillingItems() print…

Looking for a specific value in JSON file

I have a json file created by a function. The file is looks like this :{"images": [{"image": "/WATSON/VISUAL-REC/../IMAGES/OBAMA.jpg", "classifiers": [{"cla…

How to put many numpy files in one big numpy file without having memory error?

I follow this question Append multiple numpy files to one big numpy file in python in order to put many numpy files in one big file, the result is: import matplotlib.pyplot as plt import numpy as np i…

scraping : nested url data scraping

I have a website name https://www.grohe.com/in In that page i want to get one type of bathroom faucets https://www.grohe.com/in/25796/bathroom/bathroom-faucets/grandera/ In that page there are multiple…

How to trigger an action once on overscroll in Kivy?

I have a ScrollView thats supposed to have an update feature when you overscroll to the top (like in many apps). Ive found a way to trigger it when the overscroll exceeds a certain threshold, but it tr…

Python - Print Each Sentence On New Line

Per the subject, Im trying to print each sentence in a string on a new line. With the current code and output shown below, whats the syntax to return "Correct Output" shown below?Codesentenc…

pyinstaller struct.error: unpack requires a bytes object of length 16 [closed]

Closed. This question needs debugging details. It is not currently accepting answers.Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to repro…