科研训练第六周:关于《Learn from Syntax: Improving Pair-wise Aspect and Opinion Terms Extraction with Ric》的复现——

时间确实比较紧张,进度稍微有点停滞,课设结束啦,我得赶一下科研的进度~~

服务器的内存不够用是我没想到的,大概是有别人也在跑叭
在这里插入图片描述
数据处理感觉还是得本地跑一下然后save,云端报错如下:
在这里插入图片描述
看回答说是request请求太多被拒绝了🙄
————————————10.18————————————————————
本周的计划:

  • 完成数据预处理阶段的事情(大概是一直到词向量生成阶段叭)
  • datasets下的文件全部看完(自己上手写一下)
  • 读论文叭(感觉还是要有输入才行)

这周赶进度,不然下周又开始忙起来啦!

————————————10.19————————————————————
在这里插入图片描述
果然是服务器被占用的问题,下次还是乘早跑代码(哈哈,悄悄写bug然后惊吓所有人),不过预处理部分的话,其实用资源的地方还是不多。本地的遗留问题还是得解决

贴一下io_utils.py的问题:
好像服务器不同接口用的yaml的版本有区别,11021端口的话,Loader=yaml.FullLoader需要注释掉才能正常运行,11022和本地的话必须加上这个,否则报错(第22行)

def read_yaml(path, encoding='utf-8'):
    with open(path, 'r', encoding=encoding) as file:
        #input, Loader=yaml.FullLoader
        return yaml.load(file.read(),Loader=yaml.FullLoader)

结束了数据处理,因为是原始文件生成json所以那部分的代码自己的本周的要求是跑通就好,
之前在terminal一直报错(什么远程服务器拒绝连接),但是诡异的是用pycharm直接run的时候又没有问题了,但是源码里的路径需要自己修改一下

要求是写完单词表示部分的代码,一开始觉得还好,看完才知道一堆代码要啃吖😂

关于LAGCN

import torch
import torch.nn as nn
class LAGCN(nn.Module):
    """
    也就是说,这一层有前馈与反馈
    """
    def __init__(self,dep_dim,in_features,out_features,pos_dim=None,bias=True):
        """
        in_features:bert_dim
        out_features:bert_dim
        """
        super(LAGCN,self).__init__()
        self.dep_dim=dep_dim #依赖边的维度
        self.pos_dim=pos_dim #pos维度
        self.in_features=in_features #词向量的维度
        self.out_features=out_features
        """
        # 一个说明:对输入数据做线性变换:\(y = Ax + b\)
        # 参数: in_features - 每个输入样本的大小 out_features - 每个输出样本的大小
        # bias - 若设置为False,这层不会学习偏置。默认值:True 形状
        """
        self.dep_attn=nn.Linear(dep_dim+pos_dim+in_features,out_features)
        self.dep_fc=nn.Linear(dep_dim,out_features)#TODO:应该是对于依赖的参数
        self.pos_fc=nn.Linear(pos_dim,out_features)#TODO:对于pos的参数

    def forward(self,text,adj,dep_embed,pos_embed=None):
        """
        :param text: [batch size, seq_len, feat_dim]
        :param adj: [batch size, seq_len, seq_len]--------------------------依赖边的邻接矩阵
        :param dep_embed: [batch size, seq_len, seq_len, dep_type_dim]
        :param pos_embed: [batch size, seq_len, pos_dim]
        :return: [batch size, seq_len, feat_dim]
        """
        batch_size,seq_len,feed_dim=text.shape
        val_us=text.unsqueeze(dim=2)# 应该是对于默认位置插入维度2
        val_us=val_us.repeat(1,1,seq_len,1)# 沿着指定的维度重复tensor
        pos_us=pos_embed.unsqueeze(dim=2).repeat(1,1,seq_len,1)
        # 最终得到的形状是[batch_size seq_len,seq_len,feat_dim+pos_dim+dep_dim]
        val_sum=torch.cat([val_us,pos_us,dep_embed],dim=-1)# 横向拼接

        r=self.dep_attn(val_sum)
        p=torch.sum(r,dim=-1)#TODO:不懂
        mask=(adj==0).float()*(-1e30)#TODO:是对于不存在依赖边的一种最小化他们的影响吗
        p=p+mask
        p=torch.softmax(p,dim=2)
        p_us=p.unsqueeze(3).repeat(1,1,1,feed_dim)

        output=val_us+self.pos_fc(pos_us)+self.dep_fc(dep_embed)
        output=torch.mul(p_us,output)
        output_sum=torch.sum(output,dim=2)# 输出的那个给顶层使用的

        return r,output_sum,p#这个输出

——————————————10.21————————————————
关于coreNlp:
在这里插入图片描述

命令行输入,保持cmd的窗口打开,9000窗口可以运行
java -mx4g -cp “*” edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000

————————10.24——————
节日快乐
写完bert的小DEMO啦
开心😃
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值