我正在尝试用jupyter笔记本做一个人脸检测模型,在尝试用文件名和标签写一个.csv文件时遇到了一些困难。你知道吗
以下是我使用的函数:
##Attaching label to correct file names
item_list = glob.glob('data/dest/celeba/faces/*/*.jpg'. )
item_df = pd.DataFrame({'image_name':pd.Series(item_list).apply(lambda x: '/'.join(x.split('/')[-2]))})
istem_df['image_id'] = item_df.image_name.apply(lambda x: x.split('/')[1])
## Creating final label set
label_df = pd.read_csv('data/dest/celeba/labels.csv')
label_df = label_df.merge(item_df, on='image_id', how='inner')
label_df.rename(columns={'label':'tags'}, inplace=True)
label_df.loc[:,['image_name','tags']].to_csv('data/dest/celeba/labels1.csv', index=False)
“所以”标签.csv“我想应该是这样的。文件开头有几行:
,image_id,label
0,000001.jpg,Arched_Eyebrows Attractive Brown_Hair Heavy_Makeup High_Cheekbones Mouth_Slightly_Open No_Beard Pointy_Nose Smiling Straight_Hair Wearing_Earrings Wearing_Lipstick Young
1,000002.jpg,Bags_Under_Eyes Big_Nose Brown_Hair High_Cheekbones Mouth_Slightly_Open No_Beard Smiling Young
这应该用“标签”再写一遍。但是labels1.csv如下所示:
image_name,tags
否则它是空的。当我调用print(data.c,'\n',data.classes)
时,它会打印0 []
。你知道吗
有人能帮我解释一下我做错了什么吗?你知道吗
编辑。我把这个编辑到这里是为了避免聊天。因此,我根据收到的帮助编辑了代码,现在是这样的:
## Attachhing label to correct file names
item_list = glob.glob('data/dest/celeba/faces/*/*.jpg')
item_df = pd.DataFrame({'image_name':pd.Series(item_list).apply(lambda x: '/'.join(x.split('/')[-2]))})
item_df['image_id'] = item_df.image_name.apply(lambda x: x.split('/')[1])
## Creating final label set
label_df = pd.read_csv('data/dest/celeba/labels.csv')
label_df = label_df.merge(item_df, left_on='image_id', right_on='image_id')
label_df.rename(columns={'label':'tags'}, inplace=True)
label_df.loc[:,['image_name','tags']].to_csv('data/dest/celeba/faces/labels.csv', index=False)
这仍然会给我一个空的“labels1.csv”文件,只有标题:image_name,tags
。你知道吗
你是使用.loc方法仅从行ID获取['image\u name','tags']。 更改此部分:
有了这个:
相关问题 更多 >
编程相关推荐