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