学习笔记
will-wil
这个作者很懒,什么都没留下…
展开
-
pytorch中copy_()、detach()、data()和clone()操作区别小结
data方法是得到一个tensor的数据信息,其返回的信息与上面提到的detach()返回的信息是相同的,也具有 内存相同,不保存梯度 信息的特点。detach()函数返回与调用对象tensor相关的一个tensor,此新tensor与源tensor共享数据内存(那么tensor的数据必然是相同的),但其requires_grad为False,并且不包含源tensor的计算图信息。copy_()函数是需要一个目标tensor,也就是说需要先构建b,然后将a拷贝给b,而clone操作则不需要。原创 2023-04-28 12:06:37 · 1751 阅读 · 0 评论 -
RuntimeError: Cannot re-initialize CUDA in forked subprocess.
尝试使用python自带的multiprocessing模块调用torch模型使用cuda加快预测速度,报错RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the ‘spawn’ start method。启动方法才支持在进程之间共享CUDA张量。创建子进程,不被 CUDA 运行时所支持。原创 2022-09-21 20:52:37 · 3250 阅读 · 0 评论 -
神经网络中 warmup 策略为什么有效
这个问题目前还没有被充分证明,我们只能从直觉上和已有的一些论文得到推测:1.有助于减缓模型在初始阶段对mini-batch的提前过拟合现象,保持分布的平稳。2.有助于保持模型深层的稳定性。原创 2022-06-09 21:51:10 · 217 阅读 · 0 评论 -
coding期间遇到的bug记录
问题1:There was a problem importing one of the Python modulesrequired to run yum. The error leading to this problem was:/home/anaconda3/lib/liblzma.so.5: version `XZ_5.1.2alpha' not found (required by /lib64/librpmio.so.3)Please install a package whi原创 2022-02-22 15:01:32 · 1150 阅读 · 0 评论 -
git clone出现 fatal: unable to access ‘https://github.com/...‘的解决办法
将 git clone https://github.com/... 改成 git clone git://github.com/...原创 2022-01-29 10:33:41 · 1024 阅读 · 0 评论 -
SSH服务器跳转失败
问题 在一台Linux操作系统的云服务器上,通过SSH跳转到其他Linux操作系统的云服务器时,提示跳转失败。 提示信息如下:可能原因跳转到的目标服务器上的OpenSSH被重装了、IP地址或主机名称发生变化,或其他原因,导致跳转失败。解决方法 删除本机的“known_hosts”文件,即rm /root/.ssh/known_hosts...原创 2021-12-20 13:50:26 · 1550 阅读 · 0 评论 -
运行脚本出现ValueError: bad marshal data (unknown type code)错误
在docker环境中运行程序,报错ValueError: bad marshal data (unknown type code),主要原因在于程序中存在.pyc的缓存文件,只要删除这些文件即可。 采用命令:find ./ --name=*.pyc | xargs rm原创 2021-12-19 17:06:12 · 2425 阅读 · 0 评论 -
RuntimeError: CUDA error: an illegal memory access was encountered
问题:写模型的途中碰到这个问题,一顿百度要不说是pytorch版本问题,要不就说是类别索引超了引起,不过都没啥用,因为报错的地方是一个很简单的赋值操作。scores[:, 0] = -float("inf") #RuntimeError: CUDA error: an illegal memory access was encountered同时在debug的过程当中发现,模型某个网络执行后爆了个warninglm_logits = self.linear(outputs) + sel原创 2021-12-03 17:40:06 · 1741 阅读 · 2 评论 -
python sorted按照多个key值排序(包括lambda和自定义函数)
sorted函数可以根据多个key值进行数据的排序,按照key值传入的顺序依次进行,当前面元素相同时,根据后面的key值继续排序。data = [(12, 24), (12, 15), (15, 24), (7, 30), (30, 24)]print(sorted(data, key=lambda x:(x[0], x[1]))) #根据元祖第一个值升序排序,若第一个值相等则根据第二个值升序排序print(sorted(data, key=lambda x:(x[0], -x[1...原创 2021-12-01 00:19:52 · 12313 阅读 · 2 评论 -
torch.scatter函数详解
#torch.scatter函数官方解释scatter(output, dim, index, src) → TensorWrites all values from the tensor src into self at the indices specified in the index tensor. For each value in src, its output index is specified by its index in src for dimension != dim and原创 2021-11-22 19:17:52 · 18156 阅读 · 0 评论 -
torch可视化函数使用
torch的可视化函数包括两种。由tensorboard引申得到的tensorboardX faceboos专门为pytorch定制的visdomTensorboardXfrom torch.utils.tensorboard import SummaryWriter #torch1.8版本后自带#若为torch1.8版本之前 from tensorboardX import SummaryWriterwrite = SummaryWriter() #log_dir默认为run目录.原创 2021-11-21 21:22:39 · 1039 阅读 · 0 评论 -
文本生成各评价指标详解
文章目录前言 基于词重叠率的方法 机器翻译 & 摘要 常用指标 BLEU ROUGE NIST METEOR TER data to text 常用指标 relation generation (RG) content selection (CS) content ordering (CO) 如何实现上述的评价指标 Coverage Distinct image caption 常用指标 CIDEr 好处 SPIC转载 2021-11-21 16:32:51 · 5213 阅读 · 0 评论 -
Flask基本用法记录
Flask 是典型的微框架,作为 Web 框架来说,它仅保留了核心功能:请求响应处理和模板渲染,这两类功能分别由 Werkzeug(WSGI 工具库)完成和 Jinja(模板渲染库)完成。使用例子实例化Flask类,设置route路由路径,启动服务在本地测试处理函数。#首先从flask库中导入Flask函数,然后实例化的到该类的一个对象from flask import Flaskapp = Flask(__name__)#注册一个处理函数(也成为endpoint),可...原创 2021-11-21 16:00:11 · 617 阅读 · 0 评论 -
torch函数记录
torch.multinomial函数torch.multinomial(input, num_samples,replacement=False, out=None) → LongTensor作用是对input的每一行做n_samples次取值,输出的张量是每一次取值时input张量对应行的下标。输入是一个input张量,一个取样数量,和一个布尔值replacement。input张量可以看成一个权重张量,每一个元素代表其在该行中的权重。如果有元素为0,那么在其他不为0的元素被取干净.原创 2021-11-18 19:50:10 · 145 阅读 · 0 评论 -
python项目导入模块报错ModuleNotFoundError
问题项目中导入自定义模块报错ModuleNotFoundError,项目目录结构如下,在a.script.py中 from b.c.脚本.py时提示找不到b模块,在b目录下创建__init__.py文件依旧报错。解决方法网上搜刮的方法大致有这么几种:如果用的pycharm,可在文件目录位置右键选择 (用的不是pycharm,目测有用) import sys (有用) sys.path.append(’引用模块的地址’) 在需要导入的文件夹创建__init...原创 2021-11-17 20:44:21 · 2539 阅读 · 0 评论 -
shell脚本的export不生效问题
项目中有时候需要.sh文件来调用多个脚本文件来运行,其中不乏需要环境变量export,想着在.sh文件中加入export环境变量的形式,既能初始化环境变量又能运行项目脚本,但是在用sh xx.sh启动shell文件的时候发现,export的环境都没有生效,后来发现是调用方式的问题。解决:比如脚本为run.sh,如果执行./run.sh是不生效的,要执行source ./run.sh,文件中export的环境变量才能生效。...原创 2021-11-17 19:09:06 · 2110 阅读 · 0 评论 -
Linux xargs命令使用记录
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,其默认的使用是echo,会将管道传输过来的内容用空白替换掉换行和空白。# cat test.txta b c d e f gh i j k l m no p qr s tu v w x y z# cat test.txt | xargsa b c d e f g h i j k l m n o p q r s t u v w x y z常用的命令如下:-n:限...原创 2021-11-16 23:56:41 · 367 阅读 · 0 评论 -
torch.load()出现ModuleNotFoundError错误
官方说明:the serialized data is bound to the specific classes and the exact directory structure used, so it can break in various ways when used in other projects, or after some serious refactors.也就是说,当使用这个函数的时候,pytorch序列化的是参数以及model class的路径。所...原创 2021-11-16 21:00:22 · 1795 阅读 · 0 评论 -
vscode python文件中库底端出现红波浪线
vscode编程时python文件中导入的库出现红波浪线,但是又能正常运行。 解决方法:工具栏选择Setting,搜索pylint,找到Pylint Args选线,点击Add Item按钮,输入--generate-members即可。...原创 2021-11-15 21:08:53 · 2703 阅读 · 0 评论 -
Docker中碰到的坑
1.docker中运行程序报了一下错误File "<frozen importlib._bootstrap>", line 961, in _find_and_loadFile "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 655, in _load_unlockedFile "<原创 2021-11-11 17:58:41 · 1082 阅读 · 0 评论 -
查看python环境中安装库/包的位置
import tensorflowprint(tensorflow.__file__)原创 2021-11-11 15:23:43 · 1505 阅读 · 0 评论 -
python importlib详解
题外话很多Python源码中,会有一句if __name__ == '__main__':,其中__name__为python的一个内置类属性,存在于每一个python程序中,不同运行方式会出现不同的结果。直接运行当前程序,文件中的__name__的值为“__main__”。 其他程序导入当前python程序,原文件中__name__的值为“原文件的名字”。python的importlib模块作用动态导入需要的python程序文件的module,module可以用调用该模块下的所有属性和原创 2021-11-10 17:14:39 · 10667 阅读 · 0 评论 -
移动anaconda包的激活和路径修改问题
激活anaconda包:source activate [anaconda包名],即可激活anaconda环境移动anaconda包后,文件中会存在很多原系统路径,导致anaconda无法正常使用。source activate激活失败:修改anaconda/bin/activate和anaconda/bin/conda文件的路径pip命令失效:修改anaconda/bin/pip文件路径其他文件的错误路径,暂时不知道使用什么命令会出错:anaconda/etc/profile.d/原创 2021-08-11 17:16:43 · 265 阅读 · 0 评论 -
pytorch dataloder中pin_memory参数
pin_memory就是锁页内存,创建DataLoader时,设置pin_memory=True,则意味着生成的Tensor数据最开始是属于内存中的锁页内存,这样将内存的Tensor转义到GPU的显存就会更快一些。主机中的内存,有两种存在方式,一是锁页,二是不锁页,锁页内存存放的内容在任何情况下都不会与主机的虚拟内存进行交换(注:虚拟内存就是硬盘),而不锁页内存在主机内存不足时,数据会存放在虚拟内存中。 所以说,显存中的内存都是锁页内存,设置pin_me...原创 2021-08-10 15:41:07 · 448 阅读 · 0 评论 -
python h5py详解
1. h5py 文件介绍一个h5py文件是 “dataset” 和 “group” 二合一的容器。1. dataset : 类似数组组织的数据的集合,像 numpy 数组一样工作2. group : 包含了其它 dataset 和 其它 group ,像字典一样工作看下图:通过上图,我们可以知道 h5py 文件就像是文件夹一样,里面很放文件还有文件夹,主文件夹以 ‘/’ 开始,这又像Linux的树形结构。知道这些我们就可以开始向 h5py 文件读取或者写入了。2. 写入数据根据上.转载 2021-08-10 15:23:49 · 9611 阅读 · 0 评论