簡體   English   中英

盡管數據具有相同的維度,但無法將 numpy 數組轉換為類型:浮點數:Object

[英]Cannot convert numpy array to type: float from type : Object despite the data being of same dimension

我正在嘗試為 LSMT 層輸入預處理數據。 numpy 數組由 245.npy 文件組成,每個文件有 72 個文件夾。 每個.npy 文件都有一個長度為 100 的一維數組。 (這已經過雙重檢查)

我從 each.npy 文件中讀取數據並將其附加到數組的方式如下:

for action in actions:
    for root, subdirectories, filenames in (sorted(os.walk(directory_2))):
        window = []      
        filenames = natsorted(filenames)
        for filename in range(sequence_length):
            res=np.load(os.path.join(directory_2, "{}.npy".format(filename)))
            window.append(res)
        sequences.append(window)
        labels.append(label_map[action])

檢查 res、window 和序列數據類型我得到以下信息

#Input print(res.dtype)  
#Output float64  

#Input type(window)  
#Output list  

#Input type(sequences)  
#Output list  

檢查 res 的 output 以驗證數據是否已從 .npy 文件中正確讀取

#Input print(res)  
#Output [13. 14. 17. 17. 18. 19. 19. 20. 21. 21. 21. 21. 22. 22. 22. 22. 23. 23.
 23. 23. 23. 23. 25. 25. 25. 26. 26. 26. 26. 26. 26. 26. 27. 27. 27. 27.
 27. 28. 28. 28. 28. 28. 29. 29. 29. 29. 29. 30. 30. 30. 30. 30. 30. 30.
 30. 30. 30. 31. 31. 31. 31. 31. 32. 32. 32. 32. 33. 33. 33. 33. 33. 33.
 33. 33. 33. 34. 34. 34. 34. 34. 34. 34. 34. 34. 35. 35. 36. 36. 36. 36.
 36. 36. 36. 36. 37. 37. 37. 37. 38. 38.]  

#Input len(res)  
#Output 100  

然后我在 go 上保存序列是變量 X 如下

X = np.array(sequences)  

看着 X 的 output 我得到一個 dtype=object

#INPUT X.view()  
#OUTPUT  
array([[array([ 5.,  6.,  7.,  7.,  8.,  8.,  8.,  9.,  9.,  9.,  9., 10., 10.,
       10., 11., 11., 11., 12., 13., 13., 13., 13., 13., 13., 14., 14.,
       14., 14., 14., 14., 14., 15., 15., 15., 15., 15., 15., 15., 15.,
       15., 15., 15., 15., 15., 15., 15., 16., 16., 16., 16., 16., 16.,
       16., 16., 17., 17., 17., 17., 17., 17., 17., 17., 17., 17., 18.,
       18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18.,
       18., 18., 18., 19., 19., 19., 19., 19., 19., 19., 19., 19., 19.,
       19., 19., 20., 20., 20., 20., 20., 20., 20.]),
        array([[ 5.,  6.,  8.,  9., 10., 10., 11., 13., 13., 14., 17., 27., 27.,
        28., 30., 32., 33., 35., 35., 37., 41., 42., 43., 45., 45., 45.,
        45., 52.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]),
        array([ 2.,  4.,  5.,  5.,  6.,  6.,  7.,  7.,  8.,  8.,  8.,  8.,  8.,
        8.,  8.,  9.,  9.,  9.,  9.,  9.,  9., 10., 10., 10., 10., 10.,
       10., 10., 10., 11., 11., 11., 11., 11., 11., 11., 11., 11., 12.,
       12., 12., 12., 12., 12., 12., 12., 13., 13., 13., 13., 13., 13.,
       13., 13., 14., 14., 14., 14., 14., 14., 14., 14., 14., 14., 14.,
       14., 15., 15., 15., 15., 15., 15., 15., 15., 15., 16., 16., 16.,
       16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16.,
       17., 17., 17., 17., 17., 17., 17., 17., 18.]),
        ...,
        array([14., 15., 15., 16., 16., 16., 16., 17., 17., 18., 18., 18., 18.,
       19., 19., 19., 20., 20., 21., 21., 21., 22., 22., 22., 22., 22.,
       23., 23., 23., 23., 23., 24., 24., 24., 24., 24., 24., 25., 25.,
       25., 25., 26., 26., 26., 26., 26., 26., 26., 27., 27., 27., 27.,
       27., 27., 28., 28., 28., 28., 28., 28., 28., 28., 28., 29., 29.,
       29., 29., 29., 29., 29., 29., 29., 30., 30., 30., 30., 30., 31.,
       31., 31., 31., 31., 32., 32., 32., 32., 32., 32., 33., 33., 33.,
       33., 33., 34., 34., 34., 34., 34., 34., 34.]),
        array([ 4.,  5.,  5.,  5.,  6.,  6.,  6.,  6.,  7.,  7.,  7.,  7.,  7.,
        7.,  7.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,
        8.,  8.,  9.,  9.,  9.,  9.,  9.,  9.,  9., 10., 10., 10., 10.,
       10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 11.,
       11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11.,
       11., 11., 11., 11., 12., 12., 12., 12., 12., 12., 13., 13., 13.,
       13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 14.,
       14., 14., 14., 14., 14., 14., 14., 14., 14.]),
        array([13., 14., 17., 17., 18., 19., 19., 20., 21., 21., 21., 21., 22.,
       22., 22., 22., 23., 23., 23., 23., 23., 23., 25., 25., 25., 26.,
       26., 26., 26., 26., 26., 26., 27., 27., 27., 27., 27., 28., 28.,
       28., 28., 28., 29., 29., 29., 29., 29., 30., 30., 30., 30., 30.,
       30., 30., 30., 30., 30., 31., 31., 31., 31., 31., 32., 32., 32.,
       32., 33., 33., 33., 33., 33., 33., 33., 33., 33., 34., 34., 34.,
       34., 34., 34., 34., 34., 34., 35., 35., 36., 36., 36., 36., 36.,
       36., 36., 36., 37., 37., 37., 37., 38., 38.])],
       [array([ 5.,  6.,  7.,  7.,  8.,  8.,  8.,  9.,  9.,  9.,  9., 10., 10.,
       10., 11., 11., 11., 12., 13., 13., 13., 13., 13., 13., 14., 14.,
       14., 14., 14., 14., 14., 15., 15., 15., 15., 15., 15., 15., 15.,
       15., 15., 15., 15., 15., 15., 15., 16., 16., 16., 16., 16., 16.,
       16., 16., 17., 17., 17., 17., 17., 17., 17., 17., 17., 17., 18.,
       18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18.,
       18., 18., 18., 19., 19., 19., 19., 19., 19., 19., 19., 19., 19.,
       19., 19., 20., 20., 20., 20., 20., 20., 20.]),
        array([[ 5.,  6.,  8.,  9., 10., 10., 11., 13., 13., 14., 17., 27., 27.,
        28., 30., 32., 33., 35., 35., 37., 41., 42., 43., 45., 45., 45.,
        45., 52.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]),
        array([ 2.,  4.,  5.,  5.,  6.,  6.,  7.,  7.,  8.,  8.,  8.,  8.,  8.,
        8.,  8.,  9.,  9.,  9.,  9.,  9.,  9., 10., 10., 10., 10., 10.,
       10., 10., 10., 11., 11., 11., 11., 11., 11., 11., 11., 11., 12.,
       12., 12., 12., 12., 12., 12., 12., 13., 13., 13., 13., 13., 13.,
       13., 13., 14., 14., 14., 14., 14., 14., 14., 14., 14., 14., 14.,
       14., 15., 15., 15., 15., 15., 15., 15., 15., 15., 16., 16., 16.,
       16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16.,
       17., 17., 17., 17., 17., 17., 17., 17., 18.]),
        ...,
        array([14., 15., 15., 16., 16., 16., 16., 17., 17., 18., 18., 18., 18.,
       19., 19., 19., 20., 20., 21., 21., 21., 22., 22., 22., 22., 22.,
       23., 23., 23., 23., 23., 24., 24., 24., 24., 24., 24., 25., 25.,
       25., 25., 26., 26., 26., 26., 26., 26., 26., 27., 27., 27., 27.,
       27., 27., 28., 28., 28., 28., 28., 28., 28., 28., 28., 29., 29.,
       29., 29., 29., 29., 29., 29., 29., 30., 30., 30., 30., 30., 31.,
       31., 31., 31., 31., 32., 32., 32., 32., 32., 32., 33., 33., 33.,
       33., 33., 34., 34., 34., 34., 34., 34., 34.]),
        array([ 4.,  5.,  5.,  5.,  6.,  6.,  6.,  6.,  7.,  7.,  7.,  7.,  7.,
        7.,  7.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,
        8.,  8.,  9.,  9.,  9.,  9.,  9.,  9.,  9., 10., 10., 10., 10.,
       10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 11.,
       11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11.,
       11., 11., 11., 11., 12., 12., 12., 12., 12., 12., 13., 13., 13.,
       13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 14.,
       14., 14., 14., 14., 14., 14., 14., 14., 14.]),
        array([13., 14., 17., 17., 18., 19., 19., 20., 21., 21., 21., 21., 22.,
       22., 22., 22., 23., 23., 23., 23., 23., 23., 25., 25., 25., 26.,
       26., 26., 26., 26., 26., 26., 27., 27., 27., 27., 27., 28., 28.,
       28., 28., 28., 29., 29., 29., 29., 29., 30., 30., 30., 30., 30.,
       30., 30., 30., 30., 30., 31., 31., 31., 31., 31., 32., 32., 32.,
       32., 33., 33., 33., 33., 33., 33., 33., 33., 33., 34., 34., 34.,
       34., 34., 34., 34., 34., 34., 35., 35., 36., 36., 36., 36., 36.,
       36., 36., 36., 37., 37., 37., 37., 38., 38.])],
       [array([ 5.,  6.,  7.,  7.,  8.,  8.,  8.,  9.,  9.,  9.,  9., 10., 10.,
       10., 11., 11., 11., 12., 13., 13., 13., 13., 13., 13., 14., 14.,
       14., 14., 14., 14., 14., 15., 15., 15., 15., 15., 15., 15., 15.,
       15., 15., 15., 15., 15., 15., 15., 16., 16., 16., 16., 16., 16.,
       16., 16., 17., 17., 17., 17., 17., 17., 17., 17., 17., 17., 18.,
       18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18.,
       18., 18., 18., 19., 19., 19., 19., 19., 19., 19., 19., 19., 19.,
       19., 19., 20., 20., 20., 20., 20., 20., 20.]),
        array([[ 5.,  6.,  8.,  9., 10., 10., 11., 13., 13., 14., 17., 27., 27.,
        28., 30., 32., 33., 35., 35., 37., 41., 42., 43., 45., 45., 45.,
        45., 52.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]),
        array([ 2.,  4.,  5.,  5.,  6.,  6.,  7.,  7.,  8.,  8.,  8.,  8.,  8.,
        8.,  8.,  9.,  9.,  9.,  9.,  9.,  9., 10., 10., 10., 10., 10.,
       10., 10., 10., 11., 11., 11., 11., 11., 11., 11., 11., 11., 12.,
       12., 12., 12., 12., 12., 12., 12., 13., 13., 13., 13., 13., 13.,
       13., 13., 14., 14., 14., 14., 14., 14., 14., 14., 14., 14., 14.,
       14., 15., 15., 15., 15., 15., 15., 15., 15., 15., 16., 16., 16.,
       16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16.,
       17., 17., 17., 17., 17., 17., 17., 17., 18.]),
        ...,
        array([14., 15., 15., 16., 16., 16., 16., 17., 17., 18., 18., 18., 18.,
       19., 19., 19., 20., 20., 21., 21., 21., 22., 22., 22., 22., 22.,
       23., 23., 23., 23., 23., 24., 24., 24., 24., 24., 24., 25., 25.,
       25., 25., 26., 26., 26., 26., 26., 26., 26., 27., 27., 27., 27.,
       27., 27., 28., 28., 28., 28., 28., 28., 28., 28., 28., 29., 29.,
       29., 29., 29., 29., 29., 29., 29., 30., 30., 30., 30., 30., 31.,
       31., 31., 31., 31., 32., 32., 32., 32., 32., 32., 33., 33., 33.,
       33., 33., 34., 34., 34., 34., 34., 34., 34.]),
        array([ 4.,  5.,  5.,  5.,  6.,  6.,  6.,  6.,  7.,  7.,  7.,  7.,  7.,
        7.,  7.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,
        8.,  8.,  9.,  9.,  9.,  9.,  9.,  9.,  9., 10., 10., 10., 10.,
       10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 11.,
       11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11.,
       11., 11., 11., 11., 12., 12., 12., 12., 12., 12., 13., 13., 13.,
       13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 14.,
       14., 14., 14., 14., 14., 14., 14., 14., 14.]),
        array([13., 14., 17., 17., 18., 19., 19., 20., 21., 21., 21., 21., 22.,
       22., 22., 22., 23., 23., 23., 23., 23., 23., 25., 25., 25., 26.,
       26., 26., 26., 26., 26., 26., 27., 27., 27., 27., 27., 28., 28.,
       28., 28., 28., 29., 29., 29., 29., 29., 30., 30., 30., 30., 30.,
       30., 30., 30., 30., 30., 31., 31., 31., 31., 31., 32., 32., 32.,
       32., 33., 33., 33., 33., 33., 33., 33., 33., 33., 34., 34., 34.,
       34., 34., 34., 34., 34., 34., 35., 35., 36., 36., 36., 36., 36.,
       36., 36., 36., 37., 37., 37., 37., 38., 38.])],
       ...,
       [array([ 5.,  6.,  7.,  7.,  8.,  8.,  8.,  9.,  9.,  9.,  9., 10., 10.,
       10., 11., 11., 11., 12., 13., 13., 13., 13., 13., 13., 14., 14.,
       14., 14., 14., 14., 14., 15., 15., 15., 15., 15., 15., 15., 15.,
       15., 15., 15., 15., 15., 15., 15., 16., 16., 16., 16., 16., 16.,
       16., 16., 17., 17., 17., 17., 17., 17., 17., 17., 17., 17., 18.,
       18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18.,
       18., 18., 18., 19., 19., 19., 19., 19., 19., 19., 19., 19., 19.,
       19., 19., 20., 20., 20., 20., 20., 20., 20.]),
        array([[ 5.,  6.,  8.,  9., 10., 10., 11., 13., 13., 14., 17., 27., 27.,
        28., 30., 32., 33., 35., 35., 37., 41., 42., 43., 45., 45., 45.,
        45., 52.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]),
        array([ 2.,  4.,  5.,  5.,  6.,  6.,  7.,  7.,  8.,  8.,  8.,  8.,  8.,
        8.,  8.,  9.,  9.,  9.,  9.,  9.,  9., 10., 10., 10., 10., 10.,
       10., 10., 10., 11., 11., 11., 11., 11., 11., 11., 11., 11., 12.,
       12., 12., 12., 12., 12., 12., 12., 13., 13., 13., 13., 13., 13.,
       13., 13., 14., 14., 14., 14., 14., 14., 14., 14., 14., 14., 14.,
       14., 15., 15., 15., 15., 15., 15., 15., 15., 15., 16., 16., 16.,
       16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16.,
       17., 17., 17., 17., 17., 17., 17., 17., 18.]),
        ...,
        array([14., 15., 15., 16., 16., 16., 16., 17., 17., 18., 18., 18., 18.,
       19., 19., 19., 20., 20., 21., 21., 21., 22., 22., 22., 22., 22.,
       23., 23., 23., 23., 23., 24., 24., 24., 24., 24., 24., 25., 25.,
       25., 25., 26., 26., 26., 26., 26., 26., 26., 27., 27., 27., 27.,
       27., 27., 28., 28., 28., 28., 28., 28., 28., 28., 28., 29., 29.,
       29., 29., 29., 29., 29., 29., 29., 30., 30., 30., 30., 30., 31.,
       31., 31., 31., 31., 32., 32., 32., 32., 32., 32., 33., 33., 33.,
       33., 33., 34., 34., 34., 34., 34., 34., 34.]),
        array([ 4.,  5.,  5.,  5.,  6.,  6.,  6.,  6.,  7.,  7.,  7.,  7.,  7.,
        7.,  7.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,
        8.,  8.,  9.,  9.,  9.,  9.,  9.,  9.,  9., 10., 10., 10., 10.,
       10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 11.,
       11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11.,
       11., 11., 11., 11., 12., 12., 12., 12., 12., 12., 13., 13., 13.,
       13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 14.,
       14., 14., 14., 14., 14., 14., 14., 14., 14.]),
        array([13., 14., 17., 17., 18., 19., 19., 20., 21., 21., 21., 21., 22.,
       22., 22., 22., 23., 23., 23., 23., 23., 23., 25., 25., 25., 26.,
       26., 26., 26., 26., 26., 26., 27., 27., 27., 27., 27., 28., 28.,
       28., 28., 28., 29., 29., 29., 29., 29., 30., 30., 30., 30., 30.,
       30., 30., 30., 30., 30., 31., 31., 31., 31., 31., 32., 32., 32.,
       32., 33., 33., 33., 33., 33., 33., 33., 33., 33., 34., 34., 34.,
       34., 34., 34., 34., 34., 34., 35., 35., 36., 36., 36., 36., 36.,
       36., 36., 36., 37., 37., 37., 37., 38., 38.])],
       [array([ 5.,  6.,  7.,  7.,  8.,  8.,  8.,  9.,  9.,  9.,  9., 10., 10.,
       10., 11., 11., 11., 12., 13., 13., 13., 13., 13., 13., 14., 14.,
       14., 14., 14., 14., 14., 15., 15., 15., 15., 15., 15., 15., 15.,
       15., 15., 15., 15., 15., 15., 15., 16., 16., 16., 16., 16., 16.,
       16., 16., 17., 17., 17., 17., 17., 17., 17., 17., 17., 17., 18.,
       18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18.,
       18., 18., 18., 19., 19., 19., 19., 19., 19., 19., 19., 19., 19.,
       19., 19., 20., 20., 20., 20., 20., 20., 20.]),
        array([[ 5.,  6.,  8.,  9., 10., 10., 11., 13., 13., 14., 17., 27., 27.,
        28., 30., 32., 33., 35., 35., 37., 41., 42., 43., 45., 45., 45.,
        45., 52.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]),
        array([ 2.,  4.,  5.,  5.,  6.,  6.,  7.,  7.,  8.,  8.,  8.,  8.,  8.,
        8.,  8.,  9.,  9.,  9.,  9.,  9.,  9., 10., 10., 10., 10., 10.,
       10., 10., 10., 11., 11., 11., 11., 11., 11., 11., 11., 11., 12.,
       12., 12., 12., 12., 12., 12., 12., 13., 13., 13., 13., 13., 13.,
       13., 13., 14., 14., 14., 14., 14., 14., 14., 14., 14., 14., 14.,
       14., 15., 15., 15., 15., 15., 15., 15., 15., 15., 16., 16., 16.,
       16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16.,
       17., 17., 17., 17., 17., 17., 17., 17., 18.]),
        ...,
        array([14., 15., 15., 16., 16., 16., 16., 17., 17., 18., 18., 18., 18.,
       19., 19., 19., 20., 20., 21., 21., 21., 22., 22., 22., 22., 22.,
       23., 23., 23., 23., 23., 24., 24., 24., 24., 24., 24., 25., 25.,
       25., 25., 26., 26., 26., 26., 26., 26., 26., 27., 27., 27., 27.,
       27., 27., 28., 28., 28., 28., 28., 28., 28., 28., 28., 29., 29.,
       29., 29., 29., 29., 29., 29., 29., 30., 30., 30., 30., 30., 31.,
       31., 31., 31., 31., 32., 32., 32., 32., 32., 32., 33., 33., 33.,
       33., 33., 34., 34., 34., 34., 34., 34., 34.]),
        array([ 4.,  5.,  5.,  5.,  6.,  6.,  6.,  6.,  7.,  7.,  7.,  7.,  7.,
        7.,  7.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,
        8.,  8.,  9.,  9.,  9.,  9.,  9.,  9.,  9., 10., 10., 10., 10.,
       10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 11.,
       11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11.,
       11., 11., 11., 11., 12., 12., 12., 12., 12., 12., 13., 13., 13.,
       13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 14.,
       14., 14., 14., 14., 14., 14., 14., 14., 14.]),
        array([13., 14., 17., 17., 18., 19., 19., 20., 21., 21., 21., 21., 22.,
       22., 22., 22., 23., 23., 23., 23., 23., 23., 25., 25., 25., 26.,
       26., 26., 26., 26., 26., 26., 27., 27., 27., 27., 27., 28., 28.,
       28., 28., 28., 29., 29., 29., 29., 29., 30., 30., 30., 30., 30.,
       30., 30., 30., 30., 30., 31., 31., 31., 31., 31., 32., 32., 32.,
       32., 33., 33., 33., 33., 33., 33., 33., 33., 33., 34., 34., 34.,
       34., 34., 34., 34., 34., 34., 35., 35., 36., 36., 36., 36., 36.,
       36., 36., 36., 37., 37., 37., 37., 38., 38.])],
       [array([ 5.,  6.,  7.,  7.,  8.,  8.,  8.,  9.,  9.,  9.,  9., 10., 10.,
       10., 11., 11., 11., 12., 13., 13., 13., 13., 13., 13., 14., 14.,
       14., 14., 14., 14., 14., 15., 15., 15., 15., 15., 15., 15., 15.,
       15., 15., 15., 15., 15., 15., 15., 16., 16., 16., 16., 16., 16.,
       16., 16., 17., 17., 17., 17., 17., 17., 17., 17., 17., 17., 18.,
       18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18., 18.,
       18., 18., 18., 19., 19., 19., 19., 19., 19., 19., 19., 19., 19.,
       19., 19., 20., 20., 20., 20., 20., 20., 20.]),
        array([[ 5.,  6.,  8.,  9., 10., 10., 11., 13., 13., 14., 17., 27., 27.,
        28., 30., 32., 33., 35., 35., 37., 41., 42., 43., 45., 45., 45.,
        45., 52.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
         0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]]),
        array([ 2.,  4.,  5.,  5.,  6.,  6.,  7.,  7.,  8.,  8.,  8.,  8.,  8.,
        8.,  8.,  9.,  9.,  9.,  9.,  9.,  9., 10., 10., 10., 10., 10.,
       10., 10., 10., 11., 11., 11., 11., 11., 11., 11., 11., 11., 12.,
       12., 12., 12., 12., 12., 12., 12., 13., 13., 13., 13., 13., 13.,
       13., 13., 14., 14., 14., 14., 14., 14., 14., 14., 14., 14., 14.,
       14., 15., 15., 15., 15., 15., 15., 15., 15., 15., 16., 16., 16.,
       16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16., 16.,
       17., 17., 17., 17., 17., 17., 17., 17., 18.]),
        ...,
        array([14., 15., 15., 16., 16., 16., 16., 17., 17., 18., 18., 18., 18.,
       19., 19., 19., 20., 20., 21., 21., 21., 22., 22., 22., 22., 22.,
       23., 23., 23., 23., 23., 24., 24., 24., 24., 24., 24., 25., 25.,
       25., 25., 26., 26., 26., 26., 26., 26., 26., 27., 27., 27., 27.,
       27., 27., 28., 28., 28., 28., 28., 28., 28., 28., 28., 29., 29.,
       29., 29., 29., 29., 29., 29., 29., 30., 30., 30., 30., 30., 31.,
       31., 31., 31., 31., 32., 32., 32., 32., 32., 32., 33., 33., 33.,
       33., 33., 34., 34., 34., 34., 34., 34., 34.]),
        array([ 4.,  5.,  5.,  5.,  6.,  6.,  6.,  6.,  7.,  7.,  7.,  7.,  7.,
        7.,  7.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,  8.,
        8.,  8.,  9.,  9.,  9.,  9.,  9.,  9.,  9., 10., 10., 10., 10.,
       10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 11.,
       11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11.,
       11., 11., 11., 11., 12., 12., 12., 12., 12., 12., 13., 13., 13.,
       13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 14.,
       14., 14., 14., 14., 14., 14., 14., 14., 14.]),
        array([13., 14., 17., 17., 18., 19., 19., 20., 21., 21., 21., 21., 22.,
       22., 22., 22., 23., 23., 23., 23., 23., 23., 25., 25., 25., 26.,
       26., 26., 26., 26., 26., 26., 27., 27., 27., 27., 27., 28., 28.,
       28., 28., 28., 29., 29., 29., 29., 29., 30., 30., 30., 30., 30.,
       30., 30., 30., 30., 30., 31., 31., 31., 31., 31., 32., 32., 32.,
       32., 33., 33., 33., 33., 33., 33., 33., 33., 33., 34., 34., 34.,
       34., 34., 34., 34., 34., 34., 35., 35., 36., 36., 36., 36., 36.,
       36., 36., 36., 37., 37., 37., 37., 38., 38.])]], dtype=object)  

現在,如果我提前 go 並檢查 X 的形狀和類型,我會得到以下結果

#Input X.shape  
#Output (72, 245)  

#Inpiut X.dtype  
#Output dtype('O')  

這是出現問題的時候。 然后我嘗試使用以下方法將 X 轉換為浮點類型,但 stackoverflow 以前的解決方案中列出的方法都不起作用

1. #Input X=np.asarray(X)  
   #Output dtype remains as ('O')  
2. #Input X=X.astype('float64')  
   #Output ValueError: setting an array element with a sequence.  
3. #Input X=X.astype(int)  
   #Output ValueError: setting an array element with a sequence.  
4. #Input X=np.hstack(X)  
   #Output dtype remains as ('O')  
5. #Input X=np.vstack(X)  
   #Output dtype remains as ('O')  

以防萬一有人有興趣知道我實際上是如何生成數據的,下面是代碼。 我只是使用 BF Matcher 為不同的圖像收集關鍵點並將它們存儲為 .npy 文件。 此代碼還確保保存的 .npy 文件的長度都不小於或大於 100。

if len(matches) > MIN_MATCHES:
                frame = cv2.drawMatches(model, kp_model, frame, kp_frame, matches[:50], 0, flags=2)
                dist=[]
                for m in matches:
                    dist.append(m.distance)   
                dist_np = np.array(dist).flatten()
            else:
                print("Not enough matches found - %d/%d" % (len(matches), MIN_MATCHES))
                dist=[]
                for m in matches:
                    dist.append(m.distance)   
                dist_np = np.array(dist).flatten()

            array_len = np.array(dist_np).size
            max_len = 100
            if array_len > max_len:    
                dist_np = dist_np[:-(array_len - max_len)]

            else:
                dist_np = [np.pad(dist_np, (0, max_len - array_len), 'constant')]
            
            print(loop)
            print(filename)
            action = action = Path(filename).stem.split('_')[1]
            npy_path = os.path.join(DATA_PATH, action, str(loop))
            np.save(npy_path, dist_np)

您的數據並不是真正具有相同的維度。

dist_np = [np.pad(dist_np, (0, max_len - array_len), 'constant')]

刪除列表括號,它使 arrays,1x100,而不是僅僅 100,或者,只需在從磁盤讀取 arrays 時將它們展平,方法是在從磁盤讀取它的行之后添加它。

res = res.flatten()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM