tags:
篇首語:主要介紹了category.php?catid=379&areaid=10785&streetid=4677如何寫偽靜態(tài)相關(guān)的知識,希望對你有一定的參考價值。
category.php?catid=379&areaid=10785&streetid=4677如何寫偽靜態(tài)
樓主,如果你調(diào)用的是地區(qū),出來數(shù)字,那可能是用錯了變量,調(diào)用出了地區(qū)id ,areaid。
地區(qū)有緩存,可以根據(jù)程序返回的id去調(diào)用緩存。
$AREA[$areaid][name]
areaid替換成你調(diào)用地區(qū)的變量
參考技術(shù)A
顯示地區(qū)名稱用$AREA[$areaid][name]就行了.
或許程序中間$areaid變量有被重定義的情況.仔細檢查一下$areaid 是否
為正確期望值.可以echo $areaid;看一下.
參考技術(shù)B1、方法有開啟rewrite干,正則表達匹配。這種用的應(yīng)該不多。
最近用了一下paddlepaddle深度學(xué)習(xí)框架訓(xùn)練了一下目標檢測模型,然后在訓(xùn)練一段時候后在驗證的時候出現(xiàn)了錯誤:
File "...PaddleDetection-masterppdetutilscoco_.py", line 318, in bbox2out
catid = (clsid2catid[int(clsid)])
KeyError: 6
小編是訓(xùn)練一個目標檢測的模型, KeyError: 6 中的6是要檢測的類別的數(shù)量(6個類別)。
遇到這個錯誤的時候,很多人可能要放棄了(這框架我不玩了)
其實產(chǎn)生這個錯誤的原因就是paddle在驗證的時候沒有可慮到不同數(shù)據(jù)的問題,也就是說這個代碼在coco數(shù)據(jù)集上訓(xùn)練可能是完全沒有問題,那么怎樣才能訓(xùn)練自己的數(shù)據(jù)呢?
首先找到報錯的文件 File "...PaddleDetection-masterppdetutilscoco_.py",這個文件是目標檢測文件的位置,每個人可能放置的位置不一樣,因人而異,找到你的文件夾的對應(yīng)的文件,即可。
然后小編找到了報錯的位置,對報錯的內(nèi)容進行了輸出,發(fā)現(xiàn)是代碼的bug(不兼容),
報錯的函數(shù):
def bbox2out(results, clsid2catid, is_bbox_normalized=False):
"""
Args:
results: request a dict, should include: `bbox`, `im_id`,
if is_bbox_normalized=True, also need `im_shape`.
clsid2catid: class id to category id map of COCO2017 dataset.
is_bbox_normalized: whether or not bbox is normalized.
"""
xywh_res = []
for t in results:
bboxes = t['bbox'][0]
if len(t['bbox'][1]) == 0: continue
lengths = t['bbox'][1][0]
im_ids = np.array(t['im_id'][0]).flatten()
if bboxes.shape == (1, 1) or bboxes is None or len(bboxes) == 0:
continue
k = 0
for i in range(len(lengths)):
num = lengths[i]
im_id = int(im_ids[i])
for j in range(num):
dt = bboxes[k]
clsid, score, xmin, ymin, xmax, ymax = dt.tolist()
if clsid < 0: continue
catid = (clsid2catid[int(clsid)])
if is_bbox_normalized:
xmin, ymin, xmax, ymax =
clip_bbox([xmin, ymin, xmax, ymax])
w = xmax - xmin
h = ymax - ymin
im_shape = t['im_shape'][0][i].tolist()
im_height, im_width = int(im_shape[0]), int(im_shape[1])
xmin *= im_width
ymin *= im_height
w *= im_width
h *= im_height
else:
# for yolov4
# w = xmax - xmin
# h = ymax - ymin
w = xmax - xmin + 1
h = ymax - ymin + 1
bbox = [xmin, ymin, w, h]
coco_res = {
'image_id': im_id,
'category_id': catid,
'bbox': bbox,
'score': score
}
xywh_res.append(coco_res)
k += 1
return xywh_res
我們看下函數(shù)的注釋,說明了是用于coco數(shù)據(jù)集,那么我們的假的coco數(shù)據(jù)集可能就不兼容
后來小編通過自己編寫代碼完美修改了數(shù)據(jù)集標注的格式,模型訓(xùn)練就不會再產(chǎn)生問題了。
以上是關(guān)于category.php?catid=379&areaid=10785&streetid=4677如何寫偽靜態(tài)的主要內(nèi)容,如果未能解決你的問題,請參考以下文章