拾遗

一、钉钉文件小助手,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.0
View Code

 

上一篇:机器学习笔记(十)---- KNN(K Nearst Neighbor)


下一篇:Python的GPU编程实例——近邻表计算