昨天开始看text matching的一个很好的资源,有文献有讲解有代码
今天看了DRCN的网络结构部分,代码部分还在进行中...

贴上原作者的地址:

文本匹配模型之DRCN - Welcome to AI World​terrifyzhao.github.io

terrifyzhao/text_matching​github.com


W2V的源码阅读记录---20190815

word2vec_dynamic.py

0.基础函数

list.extend(list2)

#把list2的每个值都加到list的末尾

collections.deque()

#生成双端队列,方便从两端append

np.random.choice的用法

# 参数意思分别 是从a 中以概率P,随机选择3个, p没有指定的时候相当于是一致的分布

#TF的函数接口

tf.name_scope(‘inputs’)总结:
1. `tf.variable_scope`和`tf.get_variable`必须要搭配使用(全局scope除外),为share提供支持。
2. `tf.Variable`可以单独使用,也可以搭配`tf.name_scope`使用,给变量分类命名,模块化。

  1. `tf.Variable`和`tf.variable_scope`搭配使用不伦不类,不是设计者的初衷
'''

tf.random_uniform((6, 6), minval=low,maxval=high,dtype=tf.float32)))
返回6*6的矩阵,产生于low和high之间,产生的值是均匀分布的。
tf.nn.embedding_lookup(embeddings, train_inputs)

#作用是查找embeddings矩阵中,index为[train_inputs]的向量

tf.summary.scalar(‘mean’,mean)

#显示标量信息,用于收集一维标量

loss = tf.reduce_mean( tf.nn.nce_loss())

mean_0 

关于NCEloss的实现:
_compute_sampled_logits: 通过这个函数计算出正样本和采样出的负样本对应的output和label;
sigmoid_cross_entropy_with_logits: 通过 sigmoid cross entropy来计算output和label的loss,从而进行反向传播。这个函数把最后的问题转化为了num_sampled+num_real个两类分类问题,然后每个分类问题用了交叉熵的损伤函数,也就是logistic regression常用的损失函数。TF里还提供了一个softmax_cross_entropy_with_logits的函数,和这个有所区别。
优化器

#SGD

tf.multiply(x, y, name=None) 和 tf.matmul()

tf

计算图Graph最后步骤

# Merge all summaries.

计算图的训练

tf

模型保存

saver

1. word2vec_basic(log_dir) —–> load_data()

1. 编码

df1 = pd.read_csv('input/train.csv', encoding='utf-8-sig')

df1 

2. re.sub()正则

segments = list(
map(
lambda x: list(jieba.cut(re.sub("[!,。?、~@#¥%&*().,::|/`()_;+;…-s]", "", x))), df_sentences))
'''
re.sub(pattern, repl, string, count=0, flags=0)
pattern,表示正则中的模式字符串。
反斜杠加数字(N),则对应着匹配的组(matched group)
比如6,表示匹配前面pattern中的第6个group

repl,就是replacement,被替换,的字符串的意思。repl可以是字符串,也可以是函数。
'''
str.replace(old, new[, max])
str.strip()对于这个函数要记住3点:

  1. 默认删除行首或者行尾的空白符(包括'n', 'r', 't', ' ')
  2. 从行首行尾开始逐次判断删除
  3. lstrip() rstrip()

s匹配任意空白字符,等价于 [tnrf].

S匹配任意非空字符

[Pp]ython匹配 "Python" 或 "python"

rub[ye]匹配 "ruby" 或 "rube"

[aeiou]匹配中括号内的任意一个字母

[0-9]匹配任何数字。类似于 [0123456789]

[a-z]匹配任何小写字母[A-Z]匹配任何大写字母

[a-zA-Z0-9]匹配任何字母及数字

[^aeiou]除了aeiou字母以外的所有字符

[^0-9]匹配除了数字外的字符


3.map()

map(function, iterable, ...)
#这里,是把['','','']通过lambda依次取出str进行re.sub()和jieba.lcut()
'''
所以,整个语句最后输出segments是[
[],[]
],每个子list中存放的是str(分词后的)
'''

2. word2vec_basic —> bulid_dataset(words, min_count)

把行输入处理成dataset

1.collections.Counter(words).most_common()

collection

3.W2V的step2

vocabulary 

4.W2V的step3

为skip-gram生成训练batch
num_skips:表示选择挤兑数据,如skip_window是2,与target有关的就是4个,当num_skips==3,随机选择三个词与target组队训练
generate_batch(batch_size, num_skips, skip_window)—-》 return batch,labels

5.W2V的step4

建立计算图,用于训练skip-gram模型

6.W2V的step5

开始训练

with 

focal loss dice loss源码_0815——W2V的TF源码阅读相关推荐

  1. 类别不均衡问题之loss大集合:focal loss, GHM loss, dice loss 等等

    数据类别不均衡问题应该是一个极常见又头疼的的问题了.最近在工作中也是碰到这个问题,花了些时间梳理并实践了类别不均衡问题的解决方式,主要实践了"魔改"loss(focal loss, ...

  2. focal loss dice loss源码_Detection学习之七-FCOS论文源码解读

    论文思想 FCOS全称"全卷积单阶段物体检测方法",首次在目标检测任务中采用了图像分割的思路,即,以点为基准,通过预测点至bbox左.右.上.下边界的距离确定bbox的位置, 是一 ...

  3. 《Focal Loss GHM Loss Dice Los》论文笔记

    Focal Loss 在二分类问题中,交叉熵损失定义如下: yyy 表示真实值,取值0与1,ppp表示模型预测正类的概率,取值0到1. 为了表述方便,将上述公式重新表述为: 对于类别不平衡问题,我们可 ...

  4. 图像分割之常用损失函数-Dice Loss

    哈喽大家好 ! 我是唐宋宋宋,很荣幸与您相见!! Dice Loss Dice Loss是由Dice系数而得名的,Dice系数是一种用于评估两个样本相似性的度量函数,其值越大意味着这两个样本越相似,D ...

  5. 【深度学习】V-Net 3D医学图像分割 Dice loss 损失

    论文:https://arxiv.org/abs/1606.04797 论文 本文引入Dice coefficient 去处理医学3D图像里面 前景和背景体素数量严重不平衡的情况. 网络用于处理3D图 ...

  6. Dice Loss与mIoU

    Dice系数和mIoU是语义分割的评价指标,在这里进行了简单知识介绍. 一.Dice系数 1.1 概念理解 Dice系数源于二分类,本质上是衡量两个样本的重叠部分,是一种集合相似度度量函数,该指标范围 ...

  7. 使用Dice loss实现清晰的边界检测

    前言: 在深度学习和计算机视觉中,人们正在努力提取特征,为各种视觉任务输出有意义的表示.在一些任务中,我们只关注对象的几何形状,而不管颜色.纹理和照明等.这就是边界检测的作用所在. 关注公众号CV技术 ...

  8. Dice系数(Dice coefficient)与mIoU与Dice Loss

    Dice系数和mIoU是语义分割的评价指标,在这里进行了简单知识介绍.讲到了Dice顺便在最后提一下Dice Loss,以后有时间区分一下在语义分割中两个常用的损失函数,交叉熵和Dice Loss. ...

  9. L1/L2/smooth_l1_loss/center_loss+Dice Loss+focal loss+各种IOU loss+kl散度

    一.L1/L2/smooth_l1_loss/center_loss公式与代码 1.公式 L2公式: smooth_L1公式: 2.三种函数numpy代码实现 import numpy as np i ...

最新文章

  1. 哈佛结构和冯诺依曼结构区别。
  2. matlab练习程序(图像放大/缩小,最邻近插值)
  3. jquery easyui datagrid使用参考
  4. java多线程中的异常处理
  5. PendingIntent与Intent区别
  6. 让Python中类的属性具有惰性求值的能力
  7. 收藏!5V转3.3V电平的19种方法技巧
  8. 【PyTorch 】interpolate()==>上下采样函数
  9. c# Application.run和form.show区别
  10. Java异步NIO框架Netty实现高性能高并发
  11. IDEA怎么设置背景图片
  12. [论]【MGT】Meta Graph Transformer: A Novel Framework for Spatial–Temporal Traffic Prediction
  13. uni实现前端分页功能
  14. 威海市第四届ACM大赛感想
  15. 项目进度管理方法——里程碑式管理
  16. 内网渗透小技巧(转载)
  17. 【并发编程】map 基本用法和常见错误以及如何实现线程安全的map类型
  18. WPS文字中通过宏加快捷键实现仿word中Lorem()函数的功能
  19. attempt_load() got an unexpected keyword argument ‘map_location‘
  20. 网络安全实验之《ARP欺骗攻击》实验报告

热门文章

  1. ckEditor使用JS代码调用的方法
  2. JMM内存模型详解(一)
  3. Flex beta2+XFire开发实例
  4. mysql的唯一索引UNIQUE
  5. css分割线 文字居中的7种实现方式
  6. 海天味业打造高端调味品领衔食品美味
  7. 如何修改opencart的模版适合为mycncart系统使用
  8. IT增值服务,客户案例(一)--山东青岛在职人士,2年.Net经验,转Java开发半年
  9. [转]程序员最容易犯的几个技术上的错误
  10. 微信上传图文素材接口报41005错误解决方法