從Yolov3中學習python基礎用法 待補充

2021-10-05 03:18:03 字數 1639 閱讀 6882

1.yield:返回值之後,會繼續執行程式

yield [image_data,

*y_true]

, np.

zeros

(batch_size)

return:在程式函式中返回某個值,返回之後函式不在繼續執行,徹底結束。

yield: 帶有yield的函式是乙個迭代器,函式返回某個值時,會停留在某個位置,返回函式值後,會在前面停留的位置繼續執行,直到程式結束

2.lambda匿名函式

model_loss =

lambda

(yolo_loss, output_shape=(1

,), name=

'yolo_loss'

, arguments=)(

[*model_body.output,

*y_true]

)

lambda表示式是python中一類特殊的定義函式的形式,使用它可以定義乙個匿名函式。與其它語言不同,python的lambda表示式的函式體只能有單獨的一條語句,也就是返回值表示式語句。

3.image.bicubic

雙三次插值又稱立方卷積插值

image = image.

resize

((nw,nh)

, image.bicubic)

4.np.array 模組就是陣列,可以存放一組相同型別的數字,矩陣

image_data = np.

array

(boxed_image, dtype=

'float32'

)

5.np.expand_dims:用於擴充套件陣列的形狀

np.expand_dims(a, axis=1)表示在1位置新增資料

image_data = np.

expand_dims

(image_data,

0)

6.draw(image) 建立乙個可以在給定影象上繪圖的物件。

draw = imagedraw.

draw

(image)

7.np.floor 返回不大於輸入引數的最大整數。 即對於輸入值 x ,將返回最大的整數 i ,使得 i <= x。 注意在python中,向下取整總是從 0 捨入。

top =

max(

0, np.

floor

(top +

0.5)

.astype

('int32'))

left =

max(

0, np.

floor

(left +

0.5)

.astype

('int32'

))

8.os.path.expanduser(path) 把path中包含的""和"user"轉換成使用者目錄

classes_path = os.path.

expanduser

(self.classes_path)

YOLOv3 從入門到部署 (一)YOLOv3概述

這是目標檢測領域常用的兩個資料集。voc和coco的區別主要在於影象標註的格式不一樣。voc將目標的標籤資訊以某種格式儲存在.xml格式的檔案中,而coco則是儲存在.txt檔案中。因此有時候voc和coco不是指資料集,而是指資料集標註格式。我們完全沒有必要去研究每種標註格式的細節,網路也有大量的...

yolov3中資料讀入(一)

yolov3的訓練 從 detector.c de train detector 函式開始,函式如下 void train detector char datacfg,char cfgfile,char weightfile,int gpus,int ngpus,int clear,int dont...

深度學習 二 理解yolov3模型

模型框架處理解析 整個模型框架分為三個部分 darknet fpn region proposal 第一部分 darknet 53 作為乙個backbone。主要完成了特徵提取的任務。它的組成為兩個部分。分別為卷積層和殘差網路層。2 12 22 82 82 42 1 53,最後的connected是...