- 博客(27)
- 收藏
- 关注
原创 Pytorch使用指定GPU
1. 类似tensorflow指定GPU的方式,使用CUDA_VISIBLE_DEVICES。1.1 直接终端中设定:CUDA_VISIBLE_DEVICES=1 python my_script.py1.2 python代码中设定:import osos.environ["CUDA_VISIBLE_DEVICES"] = "2"参考http://www.cnblogs.com/darkknightzh/p/6591923.html2. 使用函数 set_deviceimport to
2021-03-17 01:13:05
257
1
转载 nohup 命令输出到指定文件
在linux中运行命令行时,会输出一些日志信息,特别典型的是启用WebLogic命令时,输出一些信息,当启用demon模式运行时,又想收集这些信息咋办?解决的办法就是使用输出重定向,如下面的命令:nohup ./run >log 2>&1 &其中log是保存输出的文件名称;2>&1 表示不仅命令行正常的输出保存到log中,产生错误信息的输出也保存到log文件中;& 表示该进程在后台运行;nohup表示进程在当用户注销(logout)或者网络断开时
2021-03-17 01:10:26
5303
原创 Pytorch模型存储的两种方式
Pytorch模型存储的两种方式1保存整个网络结构信息和模型参数信息torch.save(model_object, './model.pth')直接加载即可使用model = torch.load('./model.pth')2只保存网络的模型参数-推荐torch.save(model_object.state_dict(), './params.pth')加载则要先从本地网络模块倒入网络,然后再加载参数from models import AgeModelmodel = AgeM
2021-03-16 22:02:16
253
原创 深度学习常用公式及其实现
位置编码#公式1def get_positional_encoding(max_seq_len,embed_dim): #初始化一个positional encoding #embed_dim: 字嵌入维度 #max_seq_len: 最大序列长度 positional_encoding = np.array([[pos/np.power(10000,2*i/embed_dim) for i in range(embed_dim)]
2021-02-06 19:44:29
1838
原创 torch.gather理解
torch.gather先看看定义torch.gather(input, dim, index, out=None) → Tensor沿给定轴dim,将输入索引张量index指定位置的值进行聚合。对一个3维张量,输出可以定义为:out[i][j][k] = tensor[index[i][j][k]][j][k] # dim=0out[i][j][k] = tensor[i][index[i][j][k]][k] # dim=1out[i][j][k] = tensor[i][j][in
2021-01-31 21:46:04
220
原创 概率论与数理统计之正态分布
简介首先,看看正态分布的定义正态分布曲线如下图所示[1],可以看出,正态分布曲线是对称的,图像由 [公式]和 [公式]决定。[公式] 决定正态曲线的峰值的位置, [公式] 决定正态曲线的形状,且 [公式] 越大,曲线越平坦,反之越陡峭。值得注意的是,正态分布曲线与 [公式] 轴围成的面积为1。即绝大部分数据集中在均值附近,少部分略高于或略低于均值其详细理解可参考知乎的大佬意见https://www.zhihu.com/question/56891433/answer/213354580
2021-01-31 16:43:56
2946
原创 pytorch 中 torch.Tensor和 torch.tensor的区别
Pytorch中,torch.tensor(),torch.Tensor()都用于生成新的张量。import torcha = torch.tensor([1,2,3])b = torch.Tensor([1,2,3])c = torch.FloatTensor([1,2,3])print(a,b,c)print(a.dtype,b.dtype,c.dtype)print(a.type(),b.type(),c.type())print(type(torch.FloatTensor()),
2021-01-31 15:43:21
412
原创 Pytorch的GPU driver is too old
RuntimeError: The NVIDIA driver on your system is too old (found version 10010). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: https://pytorch.org to
2021-01-26 22:58:19
3307
原创 pytorch深度学习实践-RNN高级篇
视频源《PyTorch深度学习实践》13.循环神经网络(高级篇)课件下载 提取码 cxe4practiceName Classfication根据名字的拼写进行名字所属国家的分类传统自然语言处理,字/词one-hot编码->嵌入低维度(embedding)->RNN Cell->Linear(统一维度) ->output而回到当前问题,由于名字分类并不需要最后一层的输出,故问题可以简化为(机器只需要从头到尾看一遍名字即可)由于RNN容易造成梯度消失/梯度爆炸等问
2021-01-24 14:37:44
377
转载 python lambda表达式用法
在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数。今天我就和大家聊聊lambda函数,在Python编程中,大家习惯将其称为表达式。1.为什么要用lambda函数?先举一个例子:将一个列表里的每个元素都平方。先用def来定义函数,代码如下def sq(x):return x*xmap(sq,[y for y in range(10)])再用lambda函数来编写代码map(lambda x: x*x,[y for y in range(1
2021-01-23 21:44:40
351
原创 深度学习实践--RNN 循环神经网络(基础篇)
资源课程参考链接如下B站《Pytorch深度学习实践》完结合集 刘二大人循环神经网络(基础篇)以前在使用全连接神经网络时,这样的网络又称Dense/Deep 神经网络其输出是样本的不同特征现在引入另一个案例每隔一个小时采集当前天的温度,气压,雨/晴的信息而这样的数据在现实生活应用中是没有作用的,毕竟天气预报不能等到当天报23333333那么我们改一改,即我们每一天都包含若干特征,输入包含若干天。通过前面的若干天的数据,预测出后一天的晴雨状况,perfect!(考虑对数据每四天进行分.
2021-01-23 11:25:15
553
原创 Transformer--Add&Normalize
归一化transformer在进行self-Attention之后会进行一个layerNormalization 【将数据统一到固定区间内】其中又分为batchNormalization和layerNormalizationbatchNormalization 即按照batch维度化成均值为0标准差为1的数据Layer则是纵向将每次的向量数据进行归一化残差作用:加入未学习的原向量使得到的结果的效果至少不弱于原来的结果...
2021-01-02 17:19:04
2472
1
原创 Transformer--Multi-headed机制
在Transformer中一组q,k,v可以得到一种当前词在句中的表达,那么多组就能得到多种表达,从而得到更为精确的词表达
2021-01-02 16:32:18
502
原创 Transform
Transform顺序序列数据常用RNN进行训练,但是RNN又难以平行化,故催生出Attention机制的Transform如图通过Self-Attention Layer可以平行化处理得到bi其中bi包含了整个序列的按权压缩的信息该概念最早出现在google的一篇paper中【Attention is all you need】首先我们将输入乘上一个matrix得到我们想要唯独的ai之后分别乘以wq,wk,wv得到qi,ki,vi其中qi可以看作询问,而ki则是被询问者详细可见如下图 d是
2021-01-02 14:52:58
193
原创 Dialogue-Based Relation Extraction
基于对话的关系抽取Abstract1.Introduction2.Data Construction2.1Relation Schema2.2Annotation2.3Negative Instance Generation, Data Split, and Speaker Name AnonymizationAbstract提出了第一个基于人工标注的对话关系抽取数据集DialogRE旨在支持对出现在对话中的两个arguments(参数)的关系进行预测提供DialogRE作为研究(cross-sen
2020-11-28 11:01:42
1461
2
原创 GitHub高效搜索开源项目
#按照项目名/仓库名搜索(大小写不敏感)in:name XXX#按readme搜索(大小写不敏感)in:readme XXX
2020-11-12 11:32:10
88
原创 model.zero_grad(),optimizer.zero_grad(),Variable.grad.data.zero_()
将模型参数梯度设置为0model.zero_grad()optimizer.zero_grad()#当optimizer=optim.Optimizer(model.parameters())时,两者等效单一变量Variable梯度设置为0Variable.grad.data.zero_()
2020-11-10 10:27:33
452
转载 Precision,Recall,F1score,Accuracy的理解
Precision,Recall,F1score,Accuracy四个概念容易混淆,这里做一下解释。假设一个二分类问题,样本有正负两个类别。那么模型预测的结果和真实标签的组合就有4种:TP,FP,FN,TN,如下图所示。这4个分别表示:实际为正样本你预测为正样本,实际为负样本你预测为正样本,实际为正样本你预测为负样本,实际为负样本你预测为负样本。那么Precision和Recall表示什么意思?一般Precision和Recall都是针对某个类而言的,比如正类别的Recall,负类别的Recall等。
2020-11-05 20:21:37
438
转载 深度学习training development testing 三个数据集的区别以及划分原则
深度学习中,常将可得的数据集划分为训练集(training set),验证集(development set/validation set)和测试集(test set).下文主要回答以下几个问题:一是为什么要将数据集划分为如上三个集合,三个集合之间有什么区别;二是我们划分的原则是什么.训练集、验证集和测试集的概念训练集:顾名思义指的是用于训练的样本集合,主要用来训练神经网络中的参数.验证集:从字面意思理解即为用于验证模型性能的样本集合.不同神经网络在训练集上训练结束后,通过验证集来比较判断各个模型
2020-11-05 16:39:37
3357
1
原创 jupyter notebook 使用 for mac
安装jupyter后,打开终端jupyter notebook将本机电脑作为服务器使用之后可以输入代码。shift+enter即可运行此外jupyter 支持markdown语法Esc + m即可最后ctrl + C关闭服务器端
2020-10-17 17:10:59
415
原创 Mac pycharm连接远程服务器解释器及远程服务器安装python虚拟环境
Mac pycharm连接远程服务器解释器及远程服务器安装python虚拟环境模型训练需要,本机电脑又过于菜鸡,只能在本地coding。。。服务器训练。首先在远程服务器安装python虚拟环境这里使用的是pyenv这里使用的是mac的ssh连接的服务器ssh user@ip -p22 # 默认用户名为当前用户名,默认端口为 22其中user为用户名ip为服务器地址-p为设置端口号 后面跟要连接的端口之后即为虚拟python环境的搭建Linux osx通用下载pyenv 的代码到~/
2020-09-24 10:57:44
812
原创 leetcode2.两数相加
两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807来源:力扣(LeetCode)链接:https://lee
2020-07-11 11:26:34
223
原创 112. 路径总和
leetcode路径总和水题,代码简单粗暴23333333,求大佬指教给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返回 true, 因为
2020-07-07 17:35:00
79
原创 leetcode32. 最长有效括号
最长有效括号给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”方法一栈考虑顺序遍历字符串,栈顶维护当前不可匹配的括号位置或者‘(’位置,遍历中如果遇到’(‘即将其位置压入栈顶,遇到’)'即查看其是否能与栈顶位置的括号相匹配,如果可以匹配即将栈顶位置出栈,当前位置减去新栈顶位置即为当前可匹配最长的长度
2020-07-07 17:01:40
89
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人