c++序列化
一、釘釘檔案小助手,2020 年 6 月 3 日 16:23
build_main_part() 用於構建出靜態圖 (Variable及Operation), 並在訓練過程中不變;
session.run() 一次每個batch跑一個step,run 裡面的引數才會參與計算與更新,一般只需要填 train_op 與 loss;
需要在 tf.summary.scalar 中畫圖的一定要作為 run 的引數;
optimizer.apply_gradients() 與 minimize() 內部 global step都會自增1;
二、釘釘檔案小助手,2020 年5 月 19 日 10:50
定積分 → 黎曼可積 → 任意分割區間任意取值 → 上下限互換 →(or Newton-Leibniz formula)→ 定積分值相反。
三、釘釘檔案小助手,2020 年3 月 5 日 16:47
foobar2k for mac:無暗黑模式,功能過於單一甚至殘廢,竟然將我辛苦下的Jay的歌識別成日文版的,且無歌詞。棄。
網易雲音樂 for mac:出乎意料的精煉小巧,面板倒是很容易換,但竟然“高尚”地無法匯入本地音樂資料夾,單獨開啟一首歌可愛女人也識別成了日文版。雖有歌詞,且能匹配iTunes。棄。留著聽許嵩吧。
iTunes:匯入整張專輯挺方便,但不喜歡官方,不能播放flac檔案。棄。
幾乎折騰了一天從百度雲下載的Jay的歌利用U盤轉運至MBA,最後還是刪了。用另聽吧。
另:bilibili或者YouTube上Jay的專輯MV或歌曲合集。
四、釘釘檔案小助手,2019年12月20日 11:23
sublime text → pycharm → vscode
sublime text 3棄坑原因:Jedi外掛跳轉定義失效(同時代碼提示太卡),全域性搜尋雞肋,git push需要命令列
pycharm棄坑原因:太重
vscode 優點:能同時寫LaTeX,裝了Mariana Pro主題,file specific 2/4 spaces,obvious code changes,but no multi-row tabs,全域性搜尋稍微不太習慣
後續2019年12月23日 14:24 補充:
sublime text3:安裝外掛需要翻牆;vscode:補全和跳轉竟然也是依賴Jedi。
五、KDD paper auxiliary loss:
1 def loss_op(self): 2 super(Base_Two_Tower_Hete_Graph_Text, self).loss_op() 3 with tf.name_scope("{}_Loss_Op".format(self.name)): 4 if self.training_config.use_neigh_hinge_loss: 5 margin = 0.2 6 alpha = 0.1 7 logging.info('calculate neighbor proximity hinge loss, margin = {}, alpha = {}'.format(margin, alpha)) 8 9 for i in [self.query_self_and_neigh_emb, self.shop_self_and_neigh_emb]: 10 self.dis = tf.matmul(i[0], tf.transpose(i[1])) 11 self.positive_distance = tf.reshape(tf.diag_part(self.dis), [self.config.batch_size, 1]) 12 self.term1 = term1 = tf.reduce_mean( 13 tf.maximum(0., - self.positive_distance + (self.dis + margin * tf.eye(self.config.batch_size)) + margin)) 14 self.loss = self.loss + alpha * term1 15 16 elif self.training_config.use_neigh_nce_loss: 17 alpha = 1 18 neighbor_cnt = self.training_config.igraph_neighbor_cnt 19 logging.info('calculate neighbor proximity NCE loss, alpha = {}'.format(alpha)) 20 21 for self_and_neigh_emb in [self.query_self_and_neigh_emb, self.shop_self_and_neigh_emb]: 22 temp0 = tf.split(self_and_neigh_emb, neighbor_cnt * 2 + 1, axis=1) 23 self.term = 0.0 24 for i in range(neighbor_cnt): 25 self.dis = tf.matmul(temp0[0], tf.transpose(temp0[i+1])) 26 self.positive_distance = tf.reshape(tf.diag_part(self.dis), [self.config.batch_size, 1]) 27 self.negtive_distance = self.dis - (self.positive_distance * tf.eye(self.config.batch_size)) 28 term = tf.reduce_mean(-tf.log(tf.sigmoid(self.positive_distance)+1e-24) - 29 tf.reduce_mean(tf.log(1 - tf.sigmoid(self.negtive_distance)+1e-24), axis=1, keep_dims=True)) 30 self.term += term 31 self.loss = self.loss + alpha * self.term / neighbor_cnt 32 else: 33 self.loss = self.loss + 0.0View Code