【发布时间】:2017-11-19 19:06:13
【问题描述】:
我有以下长度为 200 的向量,其中包含如下参考剪辑列表:
clips_reference_name=['v_ApplyEyeMakeup_g08_c01',
'v_ApplyEyeMakeup_g08_c02',
'v_ApplyEyeMakeup_g08_c03',
'v_ApplyEyeMakeup_g08_c04',
'v_ApplyEyeMakeup_g08_c05',
'v_ApplyEyeMakeup_g09_c01',
'v_ApplyEyeMakeup_g09_c02',
'v_ApplyEyeMakeup_g09_c03',
'v_ApplyEyeMakeup_g09_c04',
'v_ApplyEyeMakeup_g09_c05',
'v_ApplyEyeMakeup_g09_c06',
'v_ApplyEyeMakeup_g09_c07',
'v_ApplyEyeMakeup_g10_c01',
'v_ApplyEyeMakeup_g10_c02',
'v_ApplyEyeMakeup_g10_c03',
'v_ApplyEyeMakeup_g10_c04',
'v_ApplyEyeMakeup_g10_c05',
'v_ApplyEyeMakeup_g11_c01',
'v_ApplyEyeMakeup_g11_c02',
'v_ApplyEyeMakeup_g11_c03',
'v_ApplyLipstick_g08_c01',
'v_ApplyLipstick_g08_c02',
'v_ApplyLipstick_g08_c03',
'v_ApplyLipstick_g08_c04',
'v_ApplyLipstick_g09_c01',
'v_ApplyLipstick_g09_c02',
'v_ApplyLipstick_g09_c03',
'v_ApplyLipstick_g09_c04',
'v_ApplyLipstick_g10_c01',
'v_ApplyLipstick_g10_c02',
'v_ApplyLipstick_g10_c03',
'v_ApplyLipstick_g10_c04',
'v_ApplyLipstick_g11_c01',
'v_ApplyLipstick_g11_c02',
'v_ApplyLipstick_g11_c03',
'v_ApplyLipstick_g11_c04',
'v_ApplyLipstick_g12_c01',
'v_ApplyLipstick_g12_c02',
'v_ApplyLipstick_g12_c03',
'v_ApplyLipstick_g12_c04',
'v_Archery_g08_c01',
'v_Archery_g08_c02',
'v_Archery_g08_c03',
'v_Archery_g08_c04',
'v_Archery_g08_c05',
'v_Archery_g09_c01',
'v_Archery_g09_c02',
'v_Archery_g09_c03',
'v_Archery_g09_c04',
'v_Archery_g09_c05',
'v_Archery_g09_c06',
'v_Archery_g09_c07',
'v_Archery_g10_c01',
'v_Archery_g10_c02',
'v_Archery_g10_c03',
'v_Archery_g10_c04',
'v_Archery_g10_c05',
'v_Archery_g10_c06',
'v_Archery_g10_c07',
'v_Archery_g11_c01',
'v_BabyCrawling_g08_c01',
'v_BabyCrawling_g08_c02',
'v_BabyCrawling_g08_c03',
'v_BabyCrawling_g08_c04',
'v_BabyCrawling_g09_c01',
'v_BabyCrawling_g09_c02',
'v_BabyCrawling_g09_c03',
'v_BabyCrawling_g09_c04',
'v_BabyCrawling_g09_c05',
'v_BabyCrawling_g09_c06',
'v_BabyCrawling_g10_c01',
'v_BabyCrawling_g10_c02',
'v_BabyCrawling_g10_c03',
'v_BabyCrawling_g10_c04',
'v_BabyCrawling_g10_c05',
'v_BabyCrawling_g11_c01',
'v_BabyCrawling_g11_c02',
'v_BabyCrawling_g11_c03',
'v_BabyCrawling_g11_c04',
'v_BabyCrawling_g12_c01',
'v_BalanceBeam_g08_c01',
'v_BalanceBeam_g08_c02',
'v_BalanceBeam_g08_c03',
'v_BalanceBeam_g08_c04',
'v_BalanceBeam_g09_c01',
'v_BalanceBeam_g09_c02',
'v_BalanceBeam_g09_c03',
'v_BalanceBeam_g09_c04',
'v_BalanceBeam_g10_c01',
'v_BalanceBeam_g10_c02',
'v_BalanceBeam_g10_c03',
'v_BalanceBeam_g10_c04',
'v_BalanceBeam_g11_c01',
'v_BalanceBeam_g11_c02',
'v_BalanceBeam_g11_c03',
'v_BalanceBeam_g11_c04',
'v_BalanceBeam_g12_c01',
'v_BalanceBeam_g12_c02',
'v_BalanceBeam_g12_c03',
'v_BandMarching_g08_c01',
'v_BandMarching_g08_c02',
'v_BandMarching_g08_c03',
'v_BandMarching_g08_c04',
'v_BandMarching_g08_c05',
'v_BandMarching_g08_c06',
'v_BandMarching_g08_c07',
'v_BandMarching_g09_c01',
'v_BandMarching_g09_c02',
'v_BandMarching_g09_c03',
'v_BandMarching_g09_c04',
'v_BandMarching_g09_c05',
'v_BandMarching_g09_c06',
'v_BandMarching_g09_c07',
'v_BandMarching_g10_c01',
'v_BandMarching_g10_c02',
'v_BandMarching_g10_c03',
'v_BandMarching_g10_c04',
'v_BandMarching_g10_c05',
'v_BandMarching_g10_c06',
'v_BandMarching_g10_c07',
'v_BaseballPitch_g08_c01',
'v_BaseballPitch_g08_c02',
'v_BaseballPitch_g08_c03',
'v_BaseballPitch_g08_c04',
'v_BaseballPitch_g08_c05',
'v_BaseballPitch_g08_c06',
'v_BaseballPitch_g08_c07',
'v_BaseballPitch_g09_c01',
'v_BaseballPitch_g09_c02',
'v_BaseballPitch_g09_c03',
'v_BaseballPitch_g09_c04',
'v_BaseballPitch_g09_c05',
'v_BaseballPitch_g09_c06',
'v_BaseballPitch_g09_c07',
'v_BaseballPitch_g10_c01',
'v_BaseballPitch_g10_c02',
'v_BaseballPitch_g10_c03',
'v_BaseballPitch_g10_c04',
'v_BaseballPitch_g10_c05',
'v_BaseballPitch_g11_c01',
'v_Basketball_g08_c01',
'v_Basketball_g08_c02',
'v_Basketball_g08_c03',
'v_Basketball_g08_c04',
'v_Basketball_g09_c01',
'v_Basketball_g09_c02',
'v_Basketball_g09_c03',
'v_Basketball_g09_c04',
'v_Basketball_g09_c05',
'v_Basketball_g10_c01',
'v_Basketball_g10_c02',
'v_Basketball_g10_c03',
'v_Basketball_g10_c04',
'v_Basketball_g10_c05',
'v_Basketball_g11_c01',
'v_Basketball_g11_c02',
'v_Basketball_g11_c03',
'v_Basketball_g11_c04',
'v_Basketball_g11_c05',
'v_Basketball_g12_c01',
'v_BasketballDunk_g08_c01',
'v_BasketballDunk_g08_c02',
'v_BasketballDunk_g08_c03',
'v_BasketballDunk_g08_c04',
'v_BasketballDunk_g08_c05',
'v_BasketballDunk_g09_c01',
'v_BasketballDunk_g09_c02',
'v_BasketballDunk_g09_c03',
'v_BasketballDunk_g09_c04',
'v_BasketballDunk_g09_c05',
'v_BasketballDunk_g10_c01',
'v_BasketballDunk_g10_c02',
'v_BasketballDunk_g10_c03',
'v_BasketballDunk_g10_c04',
'v_BasketballDunk_g10_c05',
'v_BasketballDunk_g11_c01',
'v_BasketballDunk_g11_c02',
'v_BasketballDunk_g11_c03',
'v_BasketballDunk_g11_c04',
'v_BasketballDunk_g11_c05',
'v_BenchPress_g08_c01',
'v_BenchPress_g08_c02',
'v_BenchPress_g08_c03',
'v_BenchPress_g08_c04',
'v_BenchPress_g08_c05',
'v_BenchPress_g08_c06',
'v_BenchPress_g08_c07',
'v_BenchPress_g09_c01',
'v_BenchPress_g09_c02',
'v_BenchPress_g09_c03',
'v_BenchPress_g09_c04',
'v_BenchPress_g09_c05',
'v_BenchPress_g09_c06',
'v_BenchPress_g09_c07',
'v_BenchPress_g10_c01',
'v_BenchPress_g10_c02',
'v_BenchPress_g10_c03',
'v_BenchPress_g10_c04',
'v_BenchPress_g11_c01',
'v_BenchPress_g11_c02']
每个剪辑参考名称都与一组图像相关联。例如:
clips_reference_name 中的第一个引用。 'v_ApplyEyeMakeup_g08_c01',是
与一组图像(本例为 300 张图像)相关联,在以下代码中称为 labels:
v_ApplyEyeMakeup_g08_c01.**0001**.jpeg, ..., v_ApplyEyeMakeup_g08_c01.**0300**.jpeg,
每个参考名称的图像数量因图像而异。
我有一个框架字典(图像名称),它们的值如下:
dataset= dict(zip(labels, frames))
labels 是一个具有如下值的列表:
v_BasketballDunk_g08_c04_0018.jpeg
v_BandMarching_g10_c05_0097.jpeg
v_BabyCrawling_g11_c01_0010.jpeg
v_ApplyEyeMakeup_g09_c04_0148.jpeg
v_Archery_g08_c01_0008.jpeg
v_BalanceBeam_g11_c02_0058.jpeg
v_BaseballPitch_g09_c05_0002.jpeg
v_ApplyLipstick_g08_c02_0044.jpeg
v_Basketball_g11_c01_0062.jpeg
v_BenchPress_g11_c02_0012.jpeg
帧是 2048 个值的一维向量。
例如:从(labels, frames)创建的字典的第一项如下:
{'v_BasketballDunk_g08_c02_0053.jpeg':
array([ 0.88717347, 0.51302141, 0.87405699, ..., 0.41013849,
0.38836521, 0.37444678], dtype=float32), .....}
我想得到什么?
由于我在 clips_reference_name 中有 200 个项目,我想得到每个项目对应的 200 个向量,如下所示:
vector-labels_v_ApplyEyeMakeup_g08_c02 = [v_ApplyEyeMakeup_g08_c02_0001.jpeg,
v_ApplyEyeMakeup_g08_c02_0002.jpeg ,
...,
v_ApplyEyeMakeup_g08_c02_0300.jpeg]
vector-frme-values_v_ApplyEyeMakeup_g08_c02 = [[0.47,...,0.98], ..., [0.17,...,0.45]]
vector_labels-v_BabyCrawling_g09_c02 = [v_BabyCrawling_g09_c02_0001.jpeg,
v_BabyCrawling_g09_c02_0002.jpeg,
...,
v_BabyCrawling_g09_c02_0248.jpeg]
vector-frme-values_v_BabyCrawling_g09_c02 = [[0.77,...,0.28], ..., [0.18,...,0.17]]
我们查找每个剪辑参考名称并查找其对应的图像:
clips_reference_name+'_0001'.png, clips_reference_name+'_0002'.png ... 并将它们附加到同一个向量中。
所以,最后我得到了 200 个向量,每个向量代表剪辑参考名称的图像名称。
我做错了什么?
我无法创建 2*200 向量(然后每个向量的项目数会根据描述剪辑参考名称的图像数量而变化)。
如何使用剪辑参考名称命名每个向量。向量采用整数索引而不是字符串。
我发现做一个字典,其中键代表剪辑参考名称,每个剪辑参考名称的值是与每个剪辑参考名称关联的图像集。因此,对于每个键,我们有多个值(一组标签和一组帧值(每个标签的一维向量 2048),这变得难以操作。
【问题讨论】:
-
看起来像 X-Y 问题。如果您需要按字符串索引,那么您需要字典而不是列表,但根据您的要求,并不明显您需要其中任何一个。这是开发中最困难的部分:您必须首先指定您需要什么,写下(用文本或建模语言)总体设计,专注于需要它的部分的算法,只有他们开始编码。抱歉,您的问题对我来说似乎不清楚。
标签: python dictionary vector