小tp 工作上的想法

2022-06-22 10:51:12 字數 1415 閱讀 1113

首先,我有了乙個輸入args,它是所有的引數,有可能有多層多級。

他的下一級是args.b,而不是args["b"]。但是在下一級就不一樣了,它是args.b["c"]

沒辦法,現在只能如此。

關於feeder,

我們首先得到兩個dataset,train_settest_set

然後,利用train_set得到兩個loader,乙個是train_loader,乙個是memory_loader;另外就是test_set得到test_loader

關於model (這塊因為涉及到重構,所以問題比較多)

之前的模型是,

backbone\(\rightarrow\)cl

也就是說,我寫了兩個類,乙個backbone,乙個是cl。我得寫兩套引數,然後分別把這兩套引數,給傳進去。

但是問題是:

如果我想要復用這套系統,那麼如果有乙個簡單的auto-encoder並沒有cl模組,不就是吃癟了嗎?

更遑論我把cl的一些功能,寫進了類方法裡面,也就是def _train(self):def _test(self):這倆。

所以說我們從一開始就應該打造,統一的模型,輸入輸出的介面啊。

另外乙個需要考慮的因素

我們現在這個模型是乙個訓練和測試分離的模型,什麼意思呢?也就是說,在訓練過程中的諸多元件,在測試時並不會使用的。

最後就是一些小角色,比如adam的優化器,比如cross entropy的loss,實際上我們不需要了吧

番外篇,為什麼loss也需要.cuda()??

根據pytorch forum上面的討論,如果說loss function裡面沒有可訓練引數,那麼其實也不必一定使用.cuda()

additionally to what @royboy said, you need to push your criterion to the gpu, if it's stateful, i.e. if it has some parameters or internal states.

還有乙個引數,我覺得可以把num_classes給變成nb_class

記錄一些工作上的事情

1.對於slot插入和拔出的時候,應該是連續成段的通知 基於slot的事件 各個關心該事件的模組,響應該事件,查詢並根據自己記錄的軟體資料,去寫晶元和繫結相關的硬體資料。2.對於單獨的埠有效,無效,up,down,切換狀態等事件,應該是基於每個埠傳送通知 基於埠的事件 本markdown編輯器使用s...

最近工作上的一些煩惱

去年在一家ota旅遊公司做旅遊業務相關的開發,一次偶然的機會決定離開上海入職一家硬體it行業做開發,抱著希望入職,大半年公司未有起色,內部管理層的鬥爭看在眼裡,領導換了又換,業務方向到現在還未定下來,越發覺得在這裡是讓費時間與生命,沒有技術上到積累 同時也是自己的鬆懈 與沉澱,職業方向有些迷失,所以...

實訓 第二週工作上

實現了登入註冊介面,實現了使用者發布需求介面,實現了檢視其他使用者需求的介面 server port 8080 spring datasource url jdbc mysql driver class name com.mysql.cj.jdbc.driver username root pass...