Python 类型错误:can';t将序列乘以类型为'的非整数;浮动';在处理图像时
我试图将数据拆分为训练/测试/val集,但出现以下错误:Python 类型错误:can';t将序列乘以类型为'的非整数;浮动';在处理图像时,python,image-processing,computer-vision,python-imaging-library,data-science,Python,Image Processing,Computer Vision,Python Imaging Library,Data Science,我试图将数据拆分为训练/测试/val集,但出现以下错误: for filename in os.listdir("Data/Descriptions"): image = Image.open("Data/Images/" + filename + ".jpeg") image = image.resize((new_width, new_height), PIL.Image.ANTIALIAS) images.append(np.array
for filename in os.listdir("Data/Descriptions"):
image = Image.open("Data/Images/" + filename + ".jpeg")
image = image.resize((new_width, new_height), PIL.Image.ANTIALIAS)
images.append(np.array(image))
#images.append(np.asarray(image))
train_images= images[:int(len(images * 0.8))]
labels = transfomed_labels[:int(len(transfomed_labels * 0.8))]
TypeError:无法将序列与“float”类型的非int相乘
有人知道解决办法吗?至于我,你把)
放错地方了
使用
len( images * 0.8 )
您尝试将每个图像乘以0.8
你需要
len(images) * 0.8
将数据的大小相乘。使用
len(images*0.8)
尝试将每个图像乘以0.8。您需要使用len(images)*0.8
将数据的大小相乘。此外,如果有任何错误,您可能需要公布行号。它们对于缩小问题的范围非常有价值。这是对图像进行数学运算的警告。典型图像有三个颜色通道(R、G、B),取值范围为0到255。如果低于零或高于255,numpy将滚动数据(256-->0和-1-->255)。为了避免这种情况,您可以使用具有更多位的数据类型,使用np.clip()将溢出/下溢剪裁为0到255,并将数据重播到np.uint8。如果使用OpenCV库,您可以找到自动为您进行剪裁的函数。在这个特定的示例中,您将乘以0.8,因此这不是问题。