自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(189)
  • 资源 (3)
  • 收藏
  • 关注

原创 tensorflow问题集锦

【代码】tensorflow问题集锦。

2023-11-07 14:55:25 138

原创 tensorflow内存泄漏或模型只加载不运行

使用tf2模型进行推理的过程中,发现模型的内存占用在逐步增加,甚至会因为OOM被kill掉进程,有时候模型只加载不运行,搜索得到很多五花八门的答案,有些认为是tf2本身的问题,但在使用内存追踪的时候发现,是模型的动态图没有得到释放,而导致这个问题出现的原因,是数据的加载方式存在问题!如这段代码,直接使用了list作为模型的输入,尽管tf2也支持numpy的输入格式,但却存在隐患,会产生大量的空tensor!

2023-11-07 14:32:47 485

原创 torch模型转onnx

将pytorch训练的模型转为onnx格式

2023-08-16 17:27:53 242 2

原创 linux下使用ftp下载服务器数据

ftp下载。注意看,get到这个文件之后,要指定是下载这个文件,否则会报错。命令:get /x/x/x/xxx.gz xxx.gz。这里的传输模式我使用的是二进制:binary。密码:任意邮箱,如[email protected]。可见,ftp地址不需要前面的https。匿名:anonymous。

2023-04-24 10:57:14 959 1

原创 配置jupyterhub

【代码】配置jupyterhub。

2023-04-23 13:30:41 276

原创 基于tensorflow2.x的多GPU并行训练

基于TensorFlow2.x的多GPU并行训练,给出了基本操作流程,基本内容解释,其中注意事项。

2023-04-20 15:38:11 2104 6

原创 快速配置tensorflow-gpu版本

3) 确认使用的版本之后,在terminal中输入: conda install cudnn=8.2。2)从推荐的配置单中查看tensorflow版本、cudnn版本和cuda版本之间的关系;4)等待3执行完之后,2)中的推荐配置就能对的起来了,这时候直接使用就OK了。1)首先确认自己安装的系统驱动版本,在terminal中使用nvcc -V。这里看到使用的cuda版本是11.3。

2023-02-17 10:58:29 276

原创 tensorflow 2.x下checkpoint转为pb模型

tf2下checkpoint转为pb模型

2023-02-07 16:05:03 582

原创 tensorflow在CPU可以正常运行,在GPU报错

tensorflow在GPU下报奇奇怪怪错误的解决方案,尤其是7209行错误

2023-02-06 10:28:01 563

原创 Ubuntu复制文件到指定文件夹

利用此方法可以在Ubuntu中复制文件夹,也可以复制文件,当复制文件夹的时候,不需要加后缀

2022-07-11 15:30:11 18891

原创 Could not load dynamic library libcudart.so.10.1

在tensorflow中遇见的问题,电脑已经装了CUDA且在pytorch上可以正常运行,但在tf中,遇见了这个问题,参考很多文档是加链接一类的,但其并不推荐,可以使用conda命令直接安装cudatoolkit或者cudnn解决这个问题,版本匹配上参考这个链接:https://tensorflow.google.cn/install/source#gpu错误日志:Could not load dynamic library 'libcudart.so.10.1'; dlerror: libcudart

2022-05-10 23:13:41 2720

原创 transformer-xl实现文本生成

提供了一个效果较好的文本生成项目,该项目基于transformer-xl,并将代码修改为可以在tensorflow 2.x版本下运行,同时可以兼容tensorflow 1.x版本。提供了鲁迅小说数据集、唐诗数据集,可参考项目给出的说明,有针对性的训练对应的文本生成模型。训练时,修改script文件下的.sh文件,将数据集、模型保存地址、注意力层、注意力头数改为自己想要的,然后运行train.py文件;生成模式时,调用train中的inreference即可,input位置为输入文本位置。项目代码:t

2022-05-09 23:34:08 615

原创 知识图谱-关系抽取

关系抽取有基于字符模式的抽取、基于语法模式的抽取、基于语义模式的抽取、自动化模式抽取和基于学习的抽取。基于学习的抽取是目前的主流方法,因此主要介绍基于学习的抽取。基于学习的抽取分为基于监督学习、基于弱监督学习和基于远程学习的抽取。从模型的角度来看,无论是采用哪种方法,都可以采用序列标注方式或者序列分类模型进行,如果已经给定了实体位置,使用分类模型更方便。1. 基于监督学习的关系抽取监督学习是利用标注数据进行学习的一种方法,在监督学习的关系抽取中,核心问题是如何从标注样本中抽取有用的特征,常用的特征有:

2022-05-08 11:34:44 1329

原创 seaborn.distplot具体用法

seaborn.distplot可以绘制比较漂亮的直方图,在Kaggle数据集上也有很多分析在用,最近使用遇到了一些问题,故把整个API的参数记录一下:seaborn.distplot(a=None, bins=None, hist=True, kde=True, rug=False, fit=None, hist_kws=None, kde_kws=None, rug_kws=None, fit_kws=None, color=None, vertical=False, norm_hist=False,

2022-05-08 10:21:31 4750 1

原创 plotly中trace标签去除

第一次使用plotly绘制图像,效果很经验,但是也有很多问题,比如标签时怎么生成的,分类是根据什么来的,看了一天的文档看得一脸懵逼…同时遇到了add_trace后出现trace标签的问题,给出原来的代码和改进后的代码,以供参考。fig = make_subplots(rows=1, cols=2, specs=[[{"type": "pie"}, {"type": "bar"}]])colors = ['gold', 'mediumturquoise', 'lightgreen'] # 绘制饼状图f

2022-05-06 22:36:03 1254

原创 Leetcode 合并区间

合并区间以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。示例 1:输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入:intervals = [[1.

2022-05-04 23:11:49 248

原创 leetcode 跳跃游戏

跳跃游戏给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到.

2022-05-02 10:58:36 897

原创 命名实体识别(Named Entity Recognition,NER)

命名实体识别是指在文本中定位命名实体的边界并分类到预定义类型的集合的过程。实体的标注形式有BIOE等,其中B是body的缩写,I是in的缩写,O是output的缩写,E是expect的缩写。NER的输入是一个句子对应的单词序列s=<w1,w2,...wn>s=<w_1,w_2,...w_n>s=<w1​,w2​,...wn​>,输出是一个三元组集合,其中每个元组形式为<Is,Ie,it><I_s, I_e,i_t><Is​,Ie​,it​&

2022-04-29 21:00:14 1047

原创 长短时记忆网络LSTM

网络介绍长短时记忆网络(Long short time memory network, LSTM)是RNN的重要变体,解决了RNN无法长距离依赖的问题,同时缓了RNN的梯度爆炸问题。LSTM由遗忘门、输入门、重置门和输出门四部分组成,当中使用了tanhtanhtanh和sigmoidsigmoidsigmoid作为激活函数。模型概述使用记忆单元C~t{{\tilde{C}}_{t}}C~t​解决长距离依赖和梯度爆炸的问题,使用CtC_tCt​避免梯度消失的问题。在 LSTM中,将文本看成一个文本序列,

2022-04-29 16:12:29 602

翻译 条件随机场CRF

CRF可以方便的处理各类序列标注问题,最常见的形式是链式结构,其最大的优点是,每次标注都会充分考虑已有结果的影响。给定一个输入的字符序列C=c1c2...cTC=c_1c_2...c_TC=c1​c2​...cT​,输出序列LLL的计算过程:P(L∣C)=1Z(C)exp(∑t=1T∑kλkfk(lt,lt−1,C,t))P(L|C)=\frac{1}{Z(C)}exp(\sum_{t=1}^T\sum_k \lambda_kf_k(l_t,l_{t-1},C,t))P(L∣C)=Z(C)1​exp(∑t

2022-04-27 00:14:30 198

原创 知识图谱-词汇挖掘

叙词表:叙词表又被称为主题词表,是一个针对特定学科领域的词汇表,也可以是涉及多个学科领域的综合性词汇表。改词汇表又一些雨衣相关的规范化名词术语组成。通常按照主题词首字母的顺序进行组织。词汇挖掘=短语挖掘,短语是真一个单词或者多个连续的单词组成的序列。对于短语的质量,从以下几方面评估:1)频率:一般来说,一个N-Gram在给定的文档集合中要出现的足够频繁才能被视作高质量短语。2)一致性:是指N-Gram的搭配频率明显高于其各部分偶然组成在一起的可能性,反应了N-Gram中不同单词的搭配是否合.

2022-04-26 23:28:30 1747

原创 NLP中的基本概念

自然语言处理以不同的粒度处理自然语言。对于一个英文句子"“my name is xiaowang”,基本组成单元是字符(character),由空格符得到的是单词(word)。如果不考虑单词出现的重复情况,这个句子认为有4个token。加上标点符号的叫句子(Sentence),多个句子组成的叫段落(Paragraph),多个段落组成的叫篇章(Document)NLP的常见任务:断句(Sentence Segmentation)通过标点符合实现词性标准(Tokenization)是给句子中的

2022-04-24 23:52:29 335

原创 知识表示-马尔科夫链(MC)

马尔科夫链MC是一种满足马尔可夫性的离散随机变量集合。所谓马尔可夫性是指给定一个随机变量的邻居信息,该随机变量的独立于其他所有的非邻居变量,即当前随机序列的下一个状态,仅仅与当前的状态有关,而与之前的状态没有关系。(有点类似于DP思想)。当随机变量集合{X1,X2,...XN{X_1, X_2,...X_N}X1​,X2​,...XN​}满足马尔可夫性时,以下公式成立:P(Xt+1∣Xt,...X1)=P(Xt+1∣Xt)P(X_{t+1}|X_t,...X_1)=P(X_{t+1}|X_t)P(Xt

2022-04-24 23:32:31 274

原创 知识表示-概率图模型

有向无环图贝叶斯网络,也被成为信念网络或者有向无环图,是一种概率图模型,也是不确定知识表示的典型方法。一个贝叶斯网络就是一个有向无环图,其中节点代表一组随机变量x=x1,x2,...xnx={x_1,x_2,...x_n}x=x1​,x2​,...xn​,节点之间的有向边代表随机变量之间的相互影响,XiX_iXi​->XjX_jXj​之间的有向边表示XjX_jXj​的分布取决于XiX_iXi​的取值。通常,XiX_iXi​又称做因(Casue),XjX_jXj​成为果(Effect)。因此贝叶斯网络

2022-04-24 23:21:22 294

原创 leetcode 最长有效括号

给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = “(()”输出:2解释:最长有效括号子串是 “()”示例 2:输入:s = “)()())”输出:4解释:最长有效括号子串是 “()()”示例 3:输入:s = “”输出:0提示:0 <= s.length <= 3 * 104s[i] 为 ‘(’ 或 ‘)’来源:力扣(LeetCode)链接:https://leetcode-cn.com/prob

2022-04-24 17:42:05 309

原创 Leetcode 二进制间距

二进制间距给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离 。如果不存在两个相邻的 1,返回 0 。如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1 之间的距离是它们的二进制表示中位置的绝对差。例如,“1001” 中的两个 1 的距离为 3 。示例 1:输入:n = 22输出:2解释:22 的二进制是 “10110” 。在 22 的二进制表示中,有三个 1,组成两对相邻的 1 。第一对相邻的 1 中,两个 .

2022-04-24 16:39:15 252

原创 知识图谱开篇笔记

因为实习需要涉及到相关的内容,边学边记,当做一个笔记来看!加油,上学人!

2022-04-24 16:35:00 1272

原创 知识表示之知识图谱的图和数值表示

知识表示是对显示世界的一种抽象表达,评价知识表示的两个因素是表达能力(expressiveness)和计算效率(efficiency)知识表示主要分为符号表示和数值表示,常用的知识表示方法是RDF,这是一种基于图的知识表示方法,另外几种是知识图谱、语义网络、实体关系图。1. 知识图谱的图表示:基于图的表示:在很多场景下, 图又被成为网络(Network),一个图就是一个二元组G=G(U,V),其中v表示节点集,E表示边的集合,图表达了节点集上的二元关系。这一部分与数据结构中的图非常像,有无向图和有向

2022-04-21 23:12:21 1963

转载 Leetcode 字典序排数

字典序排数给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。示例 1:输入:n = 13输出:[1,10,11,12,13,2,3,4,5,6,7,8,9]示例 2:输入:n = 2输出:[1,2]提示:1 <= n <= 5 * 104思想:按照字典顺序输出数组,从1开始,符合python的sorted函数基本规则:class Solution: def lexic.

2022-04-18 21:03:46 171

原创 生成模型与判别模型

生成模型:通俗的说,给定输入X产生输出Y的模型叫生成模型,生成模型也是描述这样一种关系。数学解释:由数据学习联合概率分布P(X,Y)P(X,Y)P(X,Y),然后求出条件概论分布P(Y∣X)P(Y|X)P(Y∣X)作为预测的模型。P(Y∣X)P(Y|X)P(Y∣X)=P(XY)P(X)\frac{P(XY)}{P(X)}P(X)P(XY)​典型的生成模型有朴素贝叶斯和隐马尔科夫模型判别模型:通俗的说,由数据直接判定输出,即给定对应的输入X,应该预测什么杨的输出Y数学解释:由数据直接学习决策函

2022-04-17 20:43:38 913

转载 Language Model语言模型

Language ModelLM是一个概率分布模型,对于语言里的每一个字符串S给出一个对应的概率P(S)P(S)P(S),其计算过程:P(S)P(S)P(S)=P(w1w2...wn)P(w_1w_2...w_n)P(w1​w2​...wn​) = P(wn∣w1w2...wn−1)P(w_n|w_1w_2...w_{n-1})P(wn​∣w1​w2​...wn−1​)P(w1w2...wn−1)P(w_1w_2...w_{n-1})P(w1​w2​...wn−1​)=P(w1)∏i=2nP(wi∣w1

2022-04-17 12:02:42 227

原创 Leetcode 迷你语法分析器

迷你语法分析器给定一个字符串 s 表示一个整数嵌套列表,实现一个解析它的语法分析器并返回解析的结果 NestedInteger 。列表中的每个元素只可能是整数或整数嵌套列表示例 1:输入:s = "324",输出:324解释:你应该返回一个 NestedInteger 对象,其中只包含整数值 324。示例 2:输入:s = "[123,[456,[789]]]",输出:[123,[456,[789]]]解释:返回一个 NestedInteger 对象包含一个有两个元素的嵌套列表:.

2022-04-16 00:06:09 282

原创 总结一下tf2.3上遇到的奇奇怪怪的问题

自然语言处理方面,很多的代码是基于tf1.x的版本,这也导致了在目前的平台上没有办法使用。最近两周遇到的格外多,因此做一个小结:1)module ‘tensorflow‘ has no attribute ‘xxx’首先尝试:import tensorflow.compat.v1 as tftf.disable_v2_behavior()能解决大多数问题2)module ‘tensorflow.compat.v1 has no attribute contrib ‘xxxx’比较典型的问题

2022-04-15 16:11:19 1542

原创 Leetcode 找出最具竞争力的子序列

找出最具竞争力的子序列给你一个整数数组 nums 和一个正整数 k ,返回长度为 k 且最具 竞争力 的 nums 子序列。数组的子序列是从数组中删除一些元素(可能不删除元素)得到的序列。在子序列 a 和子序列 b 第一个不相同的位置上,如果 a 中的数字小于 b 中对应的数字,那么我们称子序列 a 比子序列 b(相同长度下)更具 竞争力 。 例如,[1,3,4] 比 [1,3,5] 更具竞争力,在第一个不相同的位置,也就是最后一个位置上, 4 小于 5 。示例 1:输入:nums = [3,.

2022-04-15 00:29:31 585

原创 LeetCode 最富有客户的资产总量

最富有客户的资产总量给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。示例 1:输入:accounts = [[1,2,3],[3,2,1]]输出:6解释:第 1 位客户的资产总量 = 1 + 2 + 3 = 6第 2 位客户的资产总量 = 3 +.

2022-04-14 23:48:06 117

原创 LeetCode O(1) 时间插入、删除和获取随机元素

O(1) 时间插入、删除和获取随机元素实现RandomizedSet 类:RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。bool remove(int val) 当元素 val 存在时,从集合中移除该项,并返回 true ;否则,返回 false 。int getRandom() 随机返回现有集合中的一项(测试用例保证调用此方法时集合中至.

2022-04-13 20:48:24 369

原创 leetcode 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例 2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4提示:1 <= nums.length <= 1

2022-04-13 20:19:39 342

原创 Q-learning时序差分强化学习算法

Q-learning是基于价值迭代的强化学习算法。在Q-learning中要定义策略的动作价值函数QQQ,以表示不同状态下不同动作的价值。记策略π\piπ的动作价值函数为Qπ(st,at)Q^{\pi}(s_t,a_t)Qπ(st​,at​),表示在状态sts_tst​下,执行动作ata_tat​带来的累积奖励GtG_tGt​的期望值。计算流程如下:Qπ(st,at)Q^{\pi}(s_t,a_t)Qπ(st​,at​) = E[GT∣st,at]E[G_T|s_t,a_t]E[GT​∣st​,at​]

2022-04-12 21:32:26 999

原创 强化学习的概念及学习过程

强化学习的概念强化学习主要由智能体(agent)和环境(environment)两部分组成。智能体代表具有行为能力的物体,环境指智能体执行动作时所处的场景。其目标是寻找一个最优策略,使智能体在运动过程中获得的累积奖励最大。通俗的说:强化学习算法通过不断的与用户进行交互,先推送少量的类似信息给用户,看用户的反馈,然后根据用户的反馈再推送相关的内容,并在后序交互过程中继续根据用户的反馈不断维护和更新上述内容。学习过程强化学习可以用四元组<S,A,P,R>表示,其中S为状态集合、A为动作集

2022-04-12 21:12:36 2558

原创 806. 写字符串需要的行数

我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行。我们给定了一个数组 widths ,这个数组 widths[0] 代表 ‘a’ 需要的单位, widths[1] 代表 ‘b’ 需要的单位,…, widths[25] 代表 ‘z’ 需要的单位。现在回答两个问题:至少多少行能放下S,以及最后一行使用的宽度是多少个单位?将你的答案作为长度为2的整数列表返回。示例 1:输入: width

2022-04-12 14:11:36 67

boostdesc_bgm.i资源包.zip

安装OpenCV时提示缺少boostdesc_bgm.i文件的问题解决方案,内含多个配置文件,无需到处查找,此处完全提供。免费供大家使用和学习

2020-10-10

MNIST数据集及使用BP神经网络分类的源程序

该资源包包含了MNIST数据集及使用pytorch实现数字分类的代码。其中,pytorch使用了两层神经网络,正确分类识别的精度达到了99%。可以供实现大作业或了解相关课程的同学使用及学习。

2020-04-24

aip-python-sdk-2.2.15.zip

使用百度OCR进行图像识别的本地安装包SDK,通过使用该SDK能够极大的减轻图片识别的工作量,能方便的进行图像文字的识别。

2020-04-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除