I'm facing the problem that my code keeps throwing the AttributionError in my Jupyter Notebook, even though I don't even call the function that is specified as faulty. My python code is as follows:
import numpy as np
import matplotlib
matplotlib.use('nbagg')
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import os
from PIL import Image
cube_features = []
for cube in cubes:
df_cube = pd.read_csv(cube_base + 'props_cube{}.csv'.format(cube),
names=['cube', 'phi_x', 'phi_y', 'fir_x', 'fir_y', 'bush_x', 'bush_y', 'sun_x', 'sun_y', 'poplar_x', 'poplar_y', 'img_path'])
area_features = []
for area in areas:
if area == 'Moc':
features = []
for row in df_cube['img_path']:
image = Image.open(row).convert('RGB')
features.append(np.array(image).flatten())
features = np.array(features)
else:
features_dict = np.atleast_1d(np.load('/Users/tol/Features/CORnetZ/cube{}_CORnet-Z_{}_output_feats.npy'.format(cube, area), allow_pickle=True))[0]
if not all(np.array(features_dict['fnames']) == df_cube['img_path'].values):
raise ValueError('My Error')
features = features_dict['model_feats']
print('Cube {}, Area {} - Representation size {}'.format(cube, area, features.shape))
#area_corr = pd.DataFrame(features.transpose()).corr() # num_images x num_images
area_features.append(features)
cube_features.append(area_features)
My Error code is:
AttributeError Traceback (most recent call last)
/opt/anaconda3/lib/python3.8/site-packages/PIL/Image.py in open(fp, mode, formats)
2894 try:
-> 2895 fp.seek(0)
2896 except (AttributeError, io.UnsupportedOperation):
AttributeError: 'float' object has no attribute 'seek'
During handling of the above exception, another exception occurred:
AttributeError Traceback (most recent call last)
<ipython-input-43-31c8f89d4a7f> in <module>
8 features = []
9 for row in df_cube['img_path']:
---> 10 image = Image.open(row).convert('RGB')
11 features.append(np.array(image).flatten())
12 features = np.array(features)
/opt/anaconda3/lib/python3.8/site-packages/PIL/Image.py in open(fp, mode, formats)
2895 fp.seek(0)
2896 except (AttributeError, io.UnsupportedOperation):
-> 2897 fp = io.BytesIO(fp.read())
2898 exclusive_fp = True
2899
AttributeError: 'float' object has no attribute 'read'
I really hope someone can help me with this! Thanks!
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…