//文章參考了《modern php》josh lockhart
性狀是在5.4版本推出的。
個人認為,性狀是繼承和介面的一種中間態,或者說可以模組化實現的介面。
應用情景如下:
假定我們想要構建兩個類,robot和car,然後我們希望能同時為這兩個類新增gps功能。
第一種實現方法,先構建乙個父類gps,然後讓robot和car分別繼承gps。這顯然是可以實現的,但很明顯在邏輯上不通,因為gps不應當出現在兩者的繼承體系中。
第二種實現方法,構建乙個gps介面,然後在robot和car中分別實現對應的函式。邏輯上,這種方法優於第一種,但是他違背了dry(don't repeat yourself)原則,我們在專案的兩個類中,重複實現了同一功能。
這個時候,我們就要想到第三種方法:性狀 trait
我們先定義乙個gps的性狀:
trait gps
然後在robot和car類中混入這個性狀:
class car
class robot
這樣,在例項化robot和car之後,我們就可以使用gps功能了。 深度學習 1
基本概念 訓練集,測試集 特徵值 監督學習 非監督學習 半監督徐熙 分類 回歸 概念學習 從某個布林函式的輸入輸出訓練樣例中推斷出該布林函式 例項集合x x 樣例 x 每乙個例項 c x 目標概念 學習目標 f x y 訓練集 training set data 訓練樣例training examp...
深度學習1
幾天無聊,看darknet的原始碼 1.學習率 訓練的時候看到輸出資訊沒有learning rate,進 看看,發現 network.c 裡面的get current rate net 就是獲取學習率的,列印出來的rate就是lr啦 另外,訓練densenet的時候,先burning in 1000...
深度學習1
深度學習概念理解 1.訓練集 一組資料用來訓練模型 2.驗證集 一組資料,用來調整模型引數 交叉驗證 3.測試集 與訓練集保持相同分布的一組分布,用來測試模型的好壞 不參與模型的引數調整 4.batchsize 一次用來訓練的樣本數目。太小,不收斂 太大,訓練速度下降,記憶體也可能支援不住 5.ep...