- 博客(380)
- 收藏
- 关注
原创 pycharm 远程运行报错 Failed to prepare environment
什么也没动的情况下,远程连接后运行是没问题的,突然在运行时就运行不了了,解决方案。全部勾上,我是全部勾上重启后就正常了。
2024-02-22 22:57:24
5602
5
原创 gpu 运行 python 代码
用服务器(linux)去计算任务时,通过以下代码设置了使用 gpu 去跑,但去使用 nvidia-smi 查看没有任何进程,感觉还是用得 cpu 去跑的。只有当你的代码中包含了能够利用CUDA进行计算的库,并且明确将数据和计算任务转移到了GPU上时,才会真正启动GPU进行计算。如果你的程序中没有涉及任何GPU加速计算的库(如PyTorch、TensorFlow等),即便设置了。,程序本身也不会利用GPU进行计算,因为它并不具备访问和使用GPU的能力。因此,在你目前的普通Python程序中,设置。
2024-02-22 22:54:07
1033
原创 bert分类模型使用
使用 bert-bert-chinese 预训练模型去做分类任务,这里找了新闻分类数据,数据有 20w,来自数据 20w ,18w 训练数据,1w 验证数据, 1w 测试数据,10个类别我跑起来后,预测要7天7夜,于是吧数据都缩小了一些,每个类别抽一些,1800 训练数据,150 验证数据, 150 测试数据,都跑了 1.5 小时, cpu ,电脑 gpu 只有 2g 显存,带不起来。
2024-02-04 22:53:59
2277
原创 bert+np.memap+faiss文本相似度匹配 topN
使用 bert-base-chinese 预训练模型将文本数据向量化后,使用 np.memap 进行保存,再使用 faiss 进行相似度匹配出每个文本与它最相似的 topN此篇文章使用了地址数据,目的是为了跑通这个流程,数据可以自己构建np.memap :是NumPy库中的一种内存映射文件(Memory-Mapped File)对象,它允许你将硬盘上的大文件以类似数组的方式访问和操作,而不需要一次性将整个文件加载到内存中。当你创建一个对象时,实际上是创建了一个与磁盘文件对应的虚拟数组。
2024-02-03 13:38:44
2184
原创 bert提取词向量比较两文本相似度
使用 bert-base-chinese 预训练模型做词嵌入(文本转向量)embedding[:, 1:-1, :] 这一行的意是以下,数据类型张量。下面这段代码是一个传入句子转为词向量的函数。
2024-01-29 23:08:51
4171
1
原创 bert新闻标题分类
代码输出结果会生成一个文件夹:myfinetun-bert_chinese 里面存放的是模型,最后会生成一个 best 模型,我这里没跑完哈,所以结果不全。使用 bert 完成文本分类任务,数据有 20w,来自。
2024-01-29 00:04:25
1520
原创 bert预训练模型下载
可以看到我们最需要的模型是又提供的,models 里面是提供的模型,mode_download.py 是提供的下载模型的脚本,我用了这个脚本下载的,点开可以看到里面的代码,复制一份到本地 py。旁边有提供下载命令,在你想保存的路径下打开 cmd,运行这个命令就会下载了,下好后会生成以个 dataroot 的文件夹,里面有我们要的东西。我下载 bert-base-chinese,但这个网站下载是要钱的,也不贵,点击下面购买流量包。但即使是翻出去了也访问不了,我遇到的情况,所以找到了其他网站。
2024-01-28 18:04:53
2569
1
原创 RNN预测下一句文本简单示例
因此,发展出了更复杂的变体,如LSTM(Long Short-Term Memory)和GRU(Gated Recurrent Units),它们通过门控机制更好地保留长期依赖信息。与传统的前馈神经网络不同,RNN能够通过其循环结构捕获序列内部的时间依赖性或顺序信息。在RNN中,每个时间步(timestep)的隐藏状态不仅取决于当前输入,还与上一时间步的隐藏状态有关。根据句子前半句的内容推理出后半部分的内容,这样的任务可以使用循环的方式来实现。具体代码如下,写了注释。
2024-01-27 21:02:27
776
原创 bisect_right 内置库二分法查找插入
我们要从有序表中插入 3,会返回 2 为插入位置,插入后保证列表有序。python当中有标准库实现二分法查找插入:bisect。
2023-11-10 15:17:46
193
原创 setDaemon python守护进程,队列通信子线程
使用setDaemon()和守护线程这方面知识有关, 比如在启动线程前设置thread.setDaemon(True),就是设置该线程为守护线程,thread.setDaemon()设置为True, 则主线程执行完毕后会将子线程回收掉,设置为false,主进程执行结束时不会回收子线程。与队列一起使用,主进程需要一个子线程处理东西,共享一个变量,他们的通信就可以用队列,当主进程有元素塞入,子线程才会处理,这样做的意义在于:避免子线程无限死循环,导致退不出程序,也就是避免传说中的孤儿进程。
2023-01-20 14:08:47
1755
1
原创 mysql审计日志过滤sql功能
审计日志功能是一个插件,需要先安装插件才可以使用过滤 sql 语句,可以通过插件内核参数 audit_log_include_commands 与 audit_log_exclude_commands 参数设置,两参数互斥,功能相反。
2023-01-18 23:25:38
692
原创 python 表级驱动,循环导入
在工作中遇到这么一个问题,有三个 py 模块,A ,B,C,C 需要调用 A ,B 中的东西使用,但 A 中导入 B,B 中也导入了 A,就会造成循环导入,需要改成表级驱动写法,先看循环导入具体样例。意思就是把字典的键对应的值为函数名,函数名为字符串格式,这样就可以避免在 B 中导入 A 了,A 中的函数必须加 @classmethod,C 从就可以通过 getattr(类,函数名) 进行调用。现在来改成表级驱动,在此之前先看一种正常写法。这里只是举个例子,什么是循环导入。一般有函数映射的场景使用。
2022-11-24 23:21:53
515
原创 pexpect 自动交互输入
主要使用场景是全过程自动交互,不需要人工交互干涉的;有人需要交互输入的不适用,例如,mysql 想用 pexpect 自动输入密码登录后,又想人工拿回控制权输入 sql,这样会导致不能正常输入 sql,这种有交互的情况还是直接用 shell。这样就自动交互修改完成了,一般用在一些需要交互输入,想自动化输入的地方,这里是举例 mysql 的;pexpect 为 python 内置库,在 linux 上执行的,win 执行会报错。就需要手动输入,这个库作用就是自动去数据,自动化。
2022-11-22 22:56:40
548
原创 linux 修改文件句柄数限制
一般容器为 mcs 的修改是不能大于这个值的,要不然修改了可能就坏掉;如果大于,要先修改 /etc/sysctl.conf 文件里面的值,再改 /etc/security/limits.conf;先把这个参数写入文件,在使文件生效,查看生效后的值,这样的前提是 /etc/sysctl.conf 中不存在这个参数。容器为 kvm 的如果修改值小于最大值,可以直接用上面的方法改掉修改大于这个值;同样在修改 /etc/security/limits.conf 中的值就好了。open files 的值,看这个。
2022-11-01 11:52:29
1243
原创 sys 加入当前目录到环境变量
在 pycharm 中,导入其他目录的模块时,没有报错,当时到了 linux 上就报没有模块的错,这个因为导入的模块需要加入到环境变量才可以被调用加入要导入 ac 模块,其在 test 目录下,在 pycharm 中导入,无报错:在 linux 上就会报 no modul ‘test’,要用 sys 把当前 py 项目的根目录加入当前项目环境变量中才行,且写在需要导入的木块之前:
2022-10-16 14:29:13
794
转载 批量杀死匹配出的进程
xargs命令可以通过管道接受字符串,并将接收到的字符串通过空格分割成许多参数(默认情况下是通过空格分割) 然后将参数传递给其后面的命令,作为后面命令的命令行参数。ps -ef | grep python 找出 python 进程,进程一行一行的,每隔字段是空格分开的,第二个为进程号。kill和rm这样的命令是不会处理管道等过来的标准输入的。cut -c 9-15是截取上面输出的结果中的进程号,9-15正好是进程号。这条命令用了管道的方式,|左边的输出作为右边的输入。ps -aux 列出进程。
2022-09-28 18:23:09
522
转载 subprocess 执行命令,调用脚本,输入密码等操作
https://www.jianshu.com/p/ae06254ff1bc在上面的链接中,sudo 这种自动输入密码可以实现,但对于如 mysql 登录自动输入密码却行不通了,需要使用到 expect,参考:expect 自动输入密码_木下瞳的博客-CSDN博客使用python执行shell脚本 并动态传参 及subprocess的使用详解 - 腾讯云开发者社区-腾讯云
2022-09-25 22:35:46
2422
转载 expect 自动输入密码
在 linux 下登录使用 mysql 命令为 mysql -uroot -p123456,密码是明文的,且需要手动输入,现在想利用 expect 结合 python 自动传入密码与命令道 expect 中自动执行输入密码。except 是一款在 linux 下自动输入密码的工具,例如 ssh 登录需要手动输入密码,就可以编写 shell 脚本自动输入。可能是执行方式不对+权限问题。
2022-09-22 22:38:11
1835
转载 window unbutu20 LTS 设置默认 root 登录,并设置密码
适用于 Linux 的 Windows 子系统 (WSL) 是一种工具,可让开发人员直接在 Windows 中运行 GNU/Linux 环境,包括大多数命令行工具、实用程序和应用程序,而无需设置虚拟机或双引导。为相应的 Ubuntu 版本运行上述命令后,启动 Ubuntu WSL 应用程序,此时应该登录 root 帐户。如您所见,当您启动 Ubuntu WSL 应用程序时,它会直接登录到普通用户帐户。现在,要启动 Ubuntu WSL 应用程序并以 root 身份登录,请使用以下步骤。
2022-09-14 23:29:30
1033
原创 git 命令使用
如果报错,之前已经 push 过这个分支,加个 -f,xxx为分支名。git checkout -b xxx 【要拉取的目标分支】拉取指定分支下来,并在此分支上创建新分支。xxx:要创建的分支。
2022-09-09 10:11:25
258
转载 virturalbox centos7 网络连接
安装好后,不能上网,去搜索一通,要么说得不全,要么跟我的问题不一样,于是经过多次尝试,找到了办法。
2022-08-21 17:35:46
224
原创 装饰器执行顺序
打印 Get in decorator_b,由于后面没有装饰器了,所以会执行闭包函数 inner_b,打印 Get in inner_b,此时的 func 是 inner_a,所以又打印 Get in inner_a,最后执行 f 函数打印 Get in f。即把 f 打包给 decorator_a 执行,打印 Get in decorator_a,这时候 f 是 func,由于还有一个装饰器,所以闭包函数 inner_a 不执行,把他打包给 decorator_b。...
2022-08-16 15:19:54
318
原创 @staticmethod
静态方法是类中的函数,不需要实例。静态方法主要是用来存放逻辑性的代码,逻辑上属于类,但是和类本身没有关系,也就是说在静态方法中,不会涉及到类中的属性和方法的操作。可以理解为,静态方法是个。静态方法(函数),然而方法体中并没使用(也不能使用)类或实例的属性(或方法)shoeTime 函数是不能用 TimeTest 的属性得到,会报错。函数,它仅仅托管于某个类的名称空间中,便于使用和维护。...
2022-08-14 13:01:29
289
原创 linux 进程管理
先生成模拟日志记录脚本循环500次,每次输出隔两秒,uptime命令输出当前系统运行时间和负载,sleep阻塞2秒后继续运行./smalloger.sh运行脚本,ctrl+C可以中断。
2022-07-31 13:42:31
242
原创 window unbutu20 LTS apt,wget 安装时 DNS 解析错误
搜索了一大把,都是说DNS解析错误,照着大家的方法,去修改/etc/resolv.conf里面的东西就可以了,但是我发现修改后有一个问题,重启后,查看这个文件又自动还原成默认的样子了,不能持久化,所以目前只能每次遇到DNS问题时运行一下代码,再去apt安装。......
2022-07-24 20:29:56
469
2
原创 pytest.mark.parametrize及mock使用
看上面的zjk.py里面add函数是调用了一个power函数的,而add是想测的函数,我们只想测这个函数的代码,中途调用的函数过程不想关心,想直接用它返回的值,因为万一power函数是一些网络请求,cmd命令等,就需要网络,机器等,所以为了专注测试,用patch模拟power函数返回值。调用add函数得到计算结果,关键字assert断言,判断结果与预期结果等不等,不等为FAlse,会不通过用例,即上面的截图。根据实际情况进行设置,用反了会报错。......
2022-07-24 16:50:22
647
原创 Linux 命令组合及应用
heredoc语法,文本被写进重定向指向的那个文件里(printTime)#!指向解释并执行脚本的应用EOF代表结束添加可执行权限当前路径执行脚本还有一种执行方式,把脚本添加进环境变量中吧脚本复制到环境变量的路径中,就可以在任何路径执行了。...............
2022-07-24 00:00:24
960
原创 包管理 apt,dpkg
accountsservice/focal-updates,focal-security,now0.6.55-0ubuntu12~20.04.5amd64[installed,automatic]以这一条说明/后面是残酷名称focal-updates,focal-securitynow0.6.55-0ubuntu12~20.04.5版本号amd64CPU架构名称installed,automatic表示已安装,且自动安装的,有些还有upgradable表示可升级。...
2022-07-23 20:29:55
480
转载 python 列表深拷贝浅拷贝
深拷贝与浅拷贝的区别在于,当从原本的list复制出新的list之后,修改其中的任意一个是否会对另一个造成影响,即这两个list在内存中是否储存在同一个区域,这也是区分深拷贝与浅拷贝的重要依据。对于list的第一层,是实现了深拷贝,但对于嵌套的list,仍然是浅拷贝。这其实很好理解,内层的list保存的是地址,复制过去的时候是把地址复制过去了。如果用deepcopy()方法,则无论多少层,无论怎样的形式,得到的新列表都是和原来无关的,这是最安全最清爽最有效的方法。这也是一个浅拷贝方法,只对第一层实现深拷贝。.
2022-07-20 23:06:35
3120
1
原创 python 装饰器带参数的
用来说明代码运行逻辑被装饰的函数print_full_name有两个参数传进去,头上装饰器a_decorator_passing_arguments,它的参数funciton_to_decorate代表函数print_full_name,表示把被装饰的函数传进去;a_wrapper_accepting_arguments才是装饰函数,agr1,agr2代表被装饰函数的参数"Peter","Venkman";......
2022-07-19 23:24:06
734
原创 @wrap 装饰器
没加@wrap,example函数被装饰了,那它的属性值会被装饰函数my_decorator覆盖掉。消除(被装饰后的函数名等。
2022-07-18 23:37:38
217
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅