簡體   English   中英

將多個訓練數據npy文件附加到一個npy文件

[英]Append multiple training data npy files to one npy file

我在第一列圖像中包含許多.npy文件,在第二列中包含另一個列表(可以選擇[1,0,0]或[0,1,0]或[0,0,1]) 。 我已經將每50幀保存-並將其對應的選項保存到.npy文件中,現在當我訓練將它們全部附加到一個.npy文件並保存時,然后嘗試在新的.npy文件上運行for循環,以看到圖像(出於調試目的-查看其是否工作),它會引發錯誤:

  File "<ipython-input-8-24f0dc711e53>", line 6, in <module>
    cv2.imshow('test', img)

TypeError: mat data type = 17 is not supported

這是我的合並代碼:

starting_value = 1;
train_data = np.load('training_data-{}.npy'.format(starting_value))
train_data_arr = []

# Merge all our training data files into one file
def merge_training_data():
    # load training data from pc
    while True:
        file_name = 'training_data-{}.npy'.format(starting_value)
        if os.path.isfile(file_name):
            train_data_arr.append(np.load(file_name))
            starting_value += 1
        else:
            print('File does not exist, finished merging!',starting_value)
            train_data_arr = np.array(train_data_arr)
            np.save(file_name, train_data_arr)
            break

和我的測試:

#testing
starting_value = 4;
train_data = np.load('training_data-{}.npy'.format(starting_value))            
for data in train_data:
    img = data[0]
    choice = data[1]
    cv2.imshow('test', img)
    print(choice)
    if cv2.waitKey(25) & 0xFF == ord('q'):
        cv2.destroyAllWindows()
        break

我的var資源管理器是否有幫助: 在此處輸入圖片說明

錯誤是基於您使用的圖像格式。 這是一個相關的答案

您可以在此處找到OpenCV類型的列表。 type = 17表示您的圖像是CV_8SC3,又稱3通道char矩陣。 但是,閾值僅接受(單通道,8位或32位浮點)。 這意味着類型必須為CV_8UC1或CV_32FC1。 檢查img的形狀和dtype,並根據需要調整img。

我也看到過類似的錯誤,因為它期望使用mat格式,但是您沒有先將其讀取為mat ,這可能導致它假定您的錯誤中的dtype17 ,而實際上類型是正確的,您只需要在閱讀img之前顯示它。

嘗試這個:

#testing
starting_value = 4;
train_data = np.load('training_data-{}.npy'.format(starting_value))            
for data in train_data:
    img = cv2.imread(data[0])
    choice = data[1]
    cv2.imshow('test', img)
    print(choice)
    if cv2.waitKey(25) & 0xFF == ord('q'):
        cv2.destroyAllWindows()
        break

可能是因為當您保存這些圖像時,它們的格式正確,但在重新加載后丟失了類,因此在使用它們之前,您需要告訴Python它們是什么。

暫無
暫無

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

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