這段時間將caltech資料集轉換成voc格式的的時候,發現存在一丟丟問題,就是將annotations資料夾裡面的xml轉換為txt後,訓練的時候才發現被標註的幾張不存在資料集中
,太多,一張紙檢查不好操作,所以就寫了個簡單的py檔案來檢查一下txt檔案中哪些路徑不存在,然後重新生產乙個txt檔案(裡面儲存的是路徑和bbox的資訊)即可
下圖是txt檔案儲存的內容,包括路徑和bbox的資訊
所以我們看到,路徑和bbox之間有乙個空格,所以給我們創造了乙個利用slpit()方法的機會
#the end.分別檢查三個
txt檔案:
2007_train.txt,2007_test.txt,2007_val,txt
sets=[('2007'
, 'train'), ('2007'
, 'val'), ('2007'
, 'test')]
import os
def
convert_annotation(year, file_id):
# 開啟相應的
txt檔案
with
open("./{}_{}.txt".format(year,file_id)) as f:
# 對整個檔案進行讀取,將每一行作為乙個元素以列表的格式返回
all = f.readlines()
# for
迴圈歷遍每乙個元素
for i in all:
# split()
方法裡面不填寫表示按空格切割,返回乙個列表
a = i.split()
# 獲取第乙個元素,也就是獲取對應的路徑
path_test = a[0]
# os.path.exist(path)
判斷路徑是否存在,存在返回
true
,否則返回
false
if os.path.exists(path_test):
# 如果路徑存在則以寫入的形式開啟乙個
txt檔案
with
open("./{}_{}_update.txt".format(year,file_id),
"a") as f:
# 重新寫入當前元素
f.write(i)
f.close()
f.close()
# 歷遍
2007_train.txt,2007_test.txt,2007_val,txt
for year, file_id in sets:
convert_annotation(year,file_id)
存在還是不存在
又是一片安靜中醒來,又是乙個陰天,地面很濕潤,忽然有點秋天的感覺。昨天一天都進不來我的部落格,晚上剛進來寫了一篇小文緊接著就又是 找不到伺服器 到了深夜,終於可以上了,覺得自己長舒了一口氣。部落格依賴症。不過寫了半年多而已。依賴,一種要警惕的情緒,很容易使人沉迷,找不到自己。慌慌張張的日子終於過去了...
存在與不存在
在乙個幽靜的小山莊,有個人叫王四,孤僻,二十多歲,長相不美不醜,是那種扔在人群裡再也找不出來的那種人。父母不詳,從小靠村裡人養大。王四長大了。王四一遍又一遍的問村裡人,他的父母去 了?沒有人知道。當頻繁的問詢過於頻繁的時候只能讓人生厭,以至於後來他再去詢問的時候,大家都說他沒有父母。那我是 來的呢?...
xencenter中如何刪除不存在池中的儲存
新增新硬碟 xe sr create name label data shared false device config device dev sdb type lvm 如何刪除在xencenter裡無法刪除的sr儲存 因為pbd已經連線的緣故,我們無法直接使用sr destroy刪除sr。首先我...