- 博客(55)
- 收藏
- 关注
原创 【论文复现】QAFactEval: 《QAFactEval: Improved QA-Based Factual Consistency Evaluation for Summarization》
库最恶心的地方就在于,更新换代的速度非常之快,并且新版本的修改可谓是大刀阔斧的修改,很多旧有的方法不再支持。模型传进服务器的某个位置上(我是用自己的电脑下载好,然后用文件传输工具传输到服务器上的某个位置)库为3.0.2版本的,并且按照代码的框架逻辑,不能高于3.1.0版本,否则要大改特改。模型的代码看不见,我猜测是很底层的库默认加载了它,我们不可控。对于缓存路径的理解不一样,加载的逻辑也非常不一样。作为生成模型,被隐藏在库里面了,这是最搞人的地方)的库文件,把加载方法写死到咱们存放的路径上。
2023-11-20 08:09:11
252
原创 【论文复现】QuestEval:《QuestEval: Summarization Asks for Fact-based Evaluation》
如果服务器能够顺利连接huggingface,那么直接执行就跑通了,作者的代码没有任何bug。然而对于服务器访问不了huggingface的朋友们(比如我qwq),那么就需要把。,真正的主程序要自己创建,不过作者封装得很漂亮,只需要在项目根目录下新建一个python文件,如。git clone下载项目代码于本地,用pycharm打开并远程连接到服务器的该环境中。,源码的开发者显然不会考虑到服务器访问不了huggingface的我们。接下來就是特别隐蔽的库源码了,因为huggingface提供的。
2023-11-20 08:04:37
520
1
原创 【论文复现】DAE:《Annotating and Modeling Fine-grained Factuality in Summarization》
在作者提供的https://drive.google.com/drive/folders/1kcRCU-UlIqwDIGsaRQlRsCcHY4Mc-m3L中factuality_models_datasets/factuality_models路径下下载DAE_xsum_human_best_ckpt.zip,在项目根目录下创建目录models/,将该zip文件解压后放至models下。但是我的服务器不知道出于什么原因,采用这种方式,就一定会报错,一直检测不到我有挂载该服务于9000端口。
2023-11-20 08:00:16
356
2
原创 pycharm转移缓存目录
进去(注意最好先复制,不要剪切,等最后确认迁移成功了再删除原先的文件。这样,如果出现任何问题,便可以轻松地回滚到先前的配置)。如果一切配置正确,PyCharm 能正常使用,并保留所有之前的设置和配置。目录下的文件,释放C盘空间了!现在使用pycharm,打开安装过的库文件,确认过眼神,缓存文件已经全部转移至D盘了!,各种配置文件、缓存文件随着pycharm的使用堆积在这里,导致C盘逐渐爆满。(在干净易懂的情况下命名和系统默认风格保持一致,哈哈哈~)。因此需要将缓存目录转移至D盘。首先,需要确定当前的。
2023-10-24 01:24:34
2901
原创 修改huggingface的缓存路径
最近查了一下C盘爆满的原因,发现了huggingface的缓存文件这个罪魁祸首。代码更改(仅对当前python会话,下一次在新的环境中执行时就失效了)时,都会启用huggingface的缓存机制,将整个大文件下载至。我们可以发现,默认的缓存目录就是设置在C盘。中,从而保证下一次加载时非常快速。修改系统环境变量(Windows)
2023-10-24 01:16:53
6505
2
原创 【HuggingFace文档学习】datasets库加载数据
我只需要记住几行模板,而后便能轻松加载各类模型和数据,不会将大把时间浪费在查看浩如烟海的API或者接口文档上。:这是最常见的使用方式,只需要提供数据集的名称即可,在能正常访问huggingface的情况下简单易行。库是Hugging Face平台的,用于轻松访问和共享用于音频、计算机视觉和自然语言处理任务的数据集的库。然而学校的服务器因某种原因,不能在代码中远程访问huggingface,因而整个程序便会卡在这行代码。它们将各式各样的模型和数据,在格式上和加载方式上实现了规范统一。最终得以过了这一关。
2023-10-24 01:15:22
2440
原创 pycharm使用Git拉取最新代码(配置了远程服务器)
需要在PyCharm的设置中手动配置代理。这是PyCharm的合并冲突解决界面。当你尝试拉取远程代码与本地代码合并时,如果同一位置的代码在两边都有所更改,就会产生冲突。关于冲突:如果在上一版本的基础上,本地发生了代码的修改,同时远程仓库里的代码在同一文件上也发生了修改,就有了冲突,需要自己解决。一旦代理设置正确,PyCharm就应该可以正常访问你的Git仓库,你可以再尝试。最后登录到远程服务器,验证一下对应的项目文件夹确保代码是否已经更新。还可以直接在中间的结果窗口中编辑代码以手动合并。
2023-10-23 00:34:01
2031
原创 【HuggingFace文档学习】Bert的token分类与句分类
输出的维度是 [batch_size, sequence_length, num_labels],其中 num_labels 是可能的标签数量。一个用于token级分类的模型,可用于命名实体识别(NER)、部分语音标记(POS)等。一个用于整个句子或段落级别的分类的模型,可用于情感分析、文本分类等。对于给定的输入,模型将为整个序列产生一个分类标签。输出的维度是 [batch_size, num_labels],其中 num_labels 是可能的分类数量。)——包含模型所有参数的。
2023-10-14 08:23:03
2137
原创 【Python】内置模块与协议
模块和内建类型紧密相关,它提供了直接访问这些类型和功能的途径,但它们的真正实现大多数都是在解释器的底层,用C语言编写的。对象满足某个协议意味着该对象实现了该协议要求的方法和属性,但并不需要明确地声明它实现了该协议。文件包含了内置模块的类、函数、常量的定义,但它本身并不是这些内建类型的真正实现。这体现了在Python中,我们更关心对象的行为(它实现了哪些方法)而不是它的实际类型。主要提供的是对这些内建对象的"视图"或"接口",而它们的真正实现,大多数是在。,这些类型不需要任何额外的模块导入就可以直接使用。
2023-10-12 08:34:58
120
原创 TensorFlow的transformer类模型文件转换为pytorch
个人习惯用pytorch框架进行代码编写,然而很多时候在下载模型文件时,会遇到TensorFlow的模型,这是就涉及到转换的问题。在进行transformer类模型的训练或开发时,我们会在GitHub、huggingface等平台上下载已有的。④模型配置的json文件(通常是config.json)在TensorFlow中,模型文件常用.ckpt存储。在pytorch中,模型文件常用.bin存储。Transformer类的。③tokenizer文件。
2023-10-09 01:19:02
550
原创 pycharm远程连接服务器
【Interpreter 配置】File -> Settings -> Python Interpreter:在此配置 Python 环境为服务器的环境,确保代码能在远程服务器上执行。有该项目的文件即可(比如对于GitHub项目,只需要git clone下载到自己本地主机即可),不需要专门在服务器上又去把一模一样的项目文件拷贝过去。如果涉及复杂的文件同步规则,那么再进行第二步。你需要创建一个新的解释器,Python环境应该是服务器上对应的环境。设置该项目在本地的目录,和希望在服务器上的目录之间的映射。
2023-10-09 01:05:40
539
1
原创 【每日力扣43】位1的个数
一、题目[LeetCode-191]编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符号整数 -3。示例 1:输入
2022-04-02 18:38:36
131
原创 【每日力扣42】罗马数字转整数(模拟|哈希map)
一、题目[LeetCode-13]罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数
2022-04-01 18:56:57
163
原创 【每日力扣41】计数质数
一、题目[LeetCode-204]统计所有小于非负整数n的质数的数量。示例 1:输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2:输入:n = 0输出:0示例 3:输入:n = 1输出:0提示:0 <= n <= 5 * 10^6二、思路方法一:暴力法(两层嵌套for循环,一层计数O(n),一层判断O(√n))编写子方法isPrime()用于判断对于..
2022-03-30 18:06:18
1325
原创 【每日力扣40】Fizz Buzz
一、题目[LeetCode-142]给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:answer[i] == "FizzBuzz" 如果 i 同时是 3 和 5 的倍数。 answer[i] == "Fizz" 如果 i 是 3 的倍数。 answer[i] == "Buzz" 如果 i 是 5 的倍数。 answer[i] == i (以字符串形式)如果上述条件全不满足。示例 1:输入:
2022-03-30 17:06:32
1238
原创 【每日力扣39】最小栈[设计问题][栈]
一、题目设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。 pop()—— 删除栈顶的元素。 top()—— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[],[]]输出:[null,..
2022-03-27 17:49:40
168
原创 【每日力扣38】打乱数组[设计问题][数组]
一、题目[LeetCode-384]给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。打乱后,数组的所有排列应该是等可能的。实现 Solution class:Solution(int[] nums) 使用整数数组 nums 初始化对象 int[] reset() 重设数组到它的初始状态并返回 int[] shuffle() 返回数组随机打乱后的结果示例 1:输入["Solution", "shuffle", "reset", "shuffle"][..
2022-03-20 23:55:50
1008
原创 【日常分享】Windows10操作系统下虚拟机VMware打开后蓝屏的问题的一种解决方案(PAGE_FAULT_IN_NONPAGED_AREA)
一、问题最近想学习Linux操作系统,于是装了虚拟机VMware workstation12,在虚拟机上进入Linux的Ubuntu版本使用。然而便发现,有时能够正常打开运行,而有时却会打开VMware后运行Ubuntu时电脑突然蓝屏,内容为:PAGE_FAULT_IN_NONPAGED_AREA。二、尝试经网上搜索后发现一个解决方法:设置虚拟内存。右键单击此电脑→属性→高级系统设置→点击高级选项卡→在“性能”属性中点击设置之后在高级选项卡中点击“更改”取消选择“自动管.
2022-02-25 16:46:14
13265
4
原创 【每日力扣37】打家劫舍
一、题目[LeetCode-198]你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金...
2022-01-30 23:25:05
201
原创 【每日力扣36】最大子序和
一、题目[LeetCode-53]给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23提示:1 <...
2022-01-29 23:44:06
685
原创 【每日力扣35】买卖股票的zui佳时机
一、题目[LeetCode-121]给定一个数组 prices,它的第i个元素prices[i]表示一支给定股票第 i天的价格。你只能选择 某一天买入这只股票,并选择在 未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大...
2022-01-28 21:47:30
109
原创 【每日力扣34】爬楼梯
一、题目[LeetCode-70]假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶提示:1 <= n <...
2022-01-27 23:56:10
295
原创 【每日力扣33】第一个错误的版本
一、题目[LeetCode-278]你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用bool isBadVersion(version)接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的..
2022-01-26 23:58:18
124
原创 【每日力扣32】合并两个有序数组
一、题目[LeetCode-88]给你两个按 非递减顺序排列的整数数组nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例...
2022-01-25 23:09:51
329
原创 【每日力扣31】将有序数组转换为二叉搜索树
一、题目[LeetCode-108]给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。示例 1:输入:nums = [-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:示例 2:输入:nums = [1,3]输出:[3,1].
2022-01-24 23:37:43
582
原创 【每日力扣30】二叉树的层序遍历
一、题目[LeetCode-102]给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。示例 1:输入:root = [3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例 2:输入:root = [1]输出:[[1]]示例 3:输入:root = []输出:[]提示:树中节点数目在范围[0, 2000]内 -1000 <= Node.val &l..
2022-01-23 23:26:50
1074
原创 【每日力扣29】对称二叉树
一、题目[LeetCode-101]给你一个二叉树的根节点root, 检查它是否轴对称。示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2:输入:root = [1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围 [1, 1000] 内 -100 <= Node.val <= 100进阶:你可以运用递归和迭代两种方法解决这个问题吗?二、思路观察题意知,一棵树为对...
2022-01-22 23:38:53
322
原创 【每日力扣28】验证二叉搜索树
一、题目[LeetCode-98]给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。有效 二叉搜索树定义如下:节点的左子树只包含 小于当前节点的数。 节点的右子树只包含 大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:root = [2,1,3]输出:true示例 2:输入:root = [5,1,4,null,null,3,6]输出:false解释:根节点的值是 5 ,但是右子节点的值是 4 。..
2022-01-21 23:47:12
933
原创 【每日力扣27】二叉树的最大深度
一、题目[LeetCode-104]给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度3 。二、思路递归对于树这一数据结构,递归法经常使用,因为递归可以用寥寥几行代码实现对整颗树的遍历。本题从根节点开始,对数进行先序遍历。对于一个树节点,depth先增加1,然后取对左子树递归和右子树递归得到的d...
2022-01-20 23:01:24
138
原创 【每日力扣26】环形链表
一、题目[LeetCode-141]给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。示例 1:输入:head =.
2022-01-19 23:28:10
234
原创 【每日力扣25】回文链表
一、题目给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。示例 1:输入:head = [1,2,2,1]输出:true示例 2:输入:head = [1,2]输出:false提示:链表中节点数目在范围[1, 10^5] 内 0 <= Node.val <= 9进阶:你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题?二、思路方法:创建反向一个反转链表...
2022-01-18 23:03:32
648
原创 【每日力扣24】合并两个有序链表
一、题目[LeetCode-21]将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]提示:两个链表的节点数目范围是 [0, 50] -100 <= Node.val <...
2022-01-17 23:12:24
127
原创 【每日力扣23】反转链表
一、题目[LeetCode-206]给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]提示:链表中节点的数目范围是 [0, 5000] -5000 <= Node.val <= 5000进阶:链表可以选用迭代或递归方式完成反转...
2022-01-17 10:21:05
167
原创 【每日力扣22】删除链表的倒数第N个节点
一、题目[LeetCode-19]给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz 1 <= sz <= 30 0 <= Node.val <= 100
2022-01-16 08:23:53
229
原创 【每日力扣21】删除链表中的节点
一、题目请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点head ,只能直接访问 要被删除的节点 。题目数据保证需要删除的节点 不是末尾节点 。示例 1:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:指定链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9示例 2:输入:head = [4,5,1,9], node = 1...
2022-01-14 23:57:27
145
原创 【每日力扣20】最长公共前缀
一、题目[LeetCode-14]编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。提示:1 <= strs.length <= 200 0 <= strs[i].length <= ..
2022-01-13 10:58:10
373
原创 【每日力扣19】外观数列
一、题目[LeetCode-38]给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = "1"countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:1. 12. 113. 214. 12115. 111221...
2022-01-06 23:56:30
157
原创 【每日力扣18】实现strStr()
一、题目[LeetCode-28]实现strStr()函数。给你两个字符串haystack和 needle,请你在 haystack字符串中找出 needle字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。说明:当needle是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当needle是空字符串时我们应当返回 0 。这与 C 语言的strstr()以及 Java 的indexOf()定义相符。...
2022-01-05 00:09:29
415
原创 【每日力扣17】字符串转换整数 (atoi)
一、题目[LeetCode-8]请你来实现一个myAtoi(string s)函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。 读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。 将前...
2022-01-04 00:05:49
822
原创 【每日力扣16】验证回文串
一、题目[LeetCode-125]给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true解释:"amanaplanacanalpanama" 是回文串示例 2:输入: "race a car"输出: false解释:"raceacar" 不是回文串提示:1 <= s.le
2022-01-02 22:18:54
1252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人