- 博客(32)
- 收藏
- 关注
原创 tree-sitter的grammar.js解惑
token(...)问题回答grammar.js只能写/.../吗?为什么还有'...'是字符串字面量,比如关键字、符号等为什么还要token(...),不用正则不行吗?token(...)告诉 tree-sitter:这是一个不可再分的词法单元能只写正则不写吗?正则只能写“单元”,构建结构必须用seq等关键词你现在完全可以尝试自己写个grammar.js的小文件啦!想不想我们来练一下,比如:解析let x = 1;或者?只要你告诉我你想写哪种结构,我可以边写边讲,完全按你节奏来 😎。
2025-04-11 20:09:03
388
原创 tree-sitter 的 grammar.js 编写方法
这是 tree-sitter 语法的定义文件,描述了一个语言的 词法规则(Lexing) 和 语法规则(Parsing)。 是一个 CommonJS 模块,通常长这样:三、关键词解释: 顺序匹配(sequence),表示一段连续的符号。: 匹配多个可能之一(like OR)。: 重复0次或多次。: 重复至少1次。: 可选项。: 表示这是一个词法单元(token),不会再细分。: 设置优先级( 越大,优先级越高)。四、编写小技巧1. 起点是 tree-sitter 会从你定义的
2025-04-11 17:38:27
890
原创 使用gensim的word2vec训练自己的词向量模型
提供的一个用于测试的小型文本数据集。它包含一些示例句子,格式是一个嵌套的 Python 列表,其中每个子列表代表一个文档,文档由单词(字符串)组成。重新加载,并进行推理(如获取词向量、查找相似词等)。如果你想在自己的数据集上使用类似的处理方式,可以参考。代表余弦相似度,接近 1 说明两个词较为相似。的格式来组织你的文本数据。
2025-03-19 22:35:48
264
原创 使用gensim训练词向量嵌入
(如 Word2Vec、FastText、Doc2Vec)。是一个强大的 Python 库,主要用于。如果不想自己训练,可以直接加载。FastText 可以处理。训练自己的词向量模型。
2025-03-19 14:31:41
532
原创 如何上传文件到github
在 GitHub 上传文件夹,可以使用 Git 命令行(推荐)或者 GitHub 网页端。如果你的文件夹很大(如超过 100MB),可能需要使用。适用于本地有 Git 并希望管理多个文件的情况。分支不存在,可能需要先运行。
2025-03-14 20:10:37
625
原创 ConvergenceWarning: The max_iter was reached which means the coef_ did not converge如何解决?
这样可以最大程度减少。
2025-03-14 18:50:12
413
原创 CSS的媒体查询语法
CSS的媒体查询语法可以根据不同的设备特性(如屏幕尺寸、分辨率等)应用不同的样式。通过媒体查询,你可以为不同设备定制不同的样式,优化响应式设计。
2025-02-05 22:32:46
524
原创 Django实现数据库的表间三种关系
一对多(One-to-Many)关系:通过ForeignKey字段实现。一个模型的实例可以关联多个另一个模型的实例。一对一(One-to-One)关系:通过字段实现。每个模型的实例只能关联一个另一个模型的实例,反之亦然。多对多(Many-to-Many)关系:通过字段实现。每个模型的实例可以关联多个另一个模型的实例,反之亦然。Django 的 ORM 自动管理这些关系,并提供简洁的查询 API 来进行关联查询。
2025-01-22 15:13:49
1277
原创 Django 的 `Meta` 类和外键的使用
Meta类用于在模型中配置数据库表的选项,如表名、排序、索引等。外键字段(ForeignKey)用于表示模型之间的“一对多。
2025-01-22 14:52:43
1284
原创 Django的models.model如何使用
Django 模型是 Python 类,继承自类,每个模型类都对应数据库中的一张表。模型类的属性定义了表的字段(列),并可以通过各种方法对表中的数据进行操作(如添加、删除、修改和查询)。在 Django 中,你通常会在应用的models.py文件中定义模型类。每个字段都是一个Field类型,Django 会自动为每个字段创建数据库表的相应列。name = models.CharField(max_length=100) # 坦克的名字。
2025-01-22 13:39:33
1459
原创 强化学习代码实践1.DDQN:在CartPole游戏中实现 Double DQN
我们需要定义一个 Q 网络,用于计算 Q 值。这里使用简单的全连接网络。
2025-01-10 13:30:44
599
原创 U-Net 模型教程(代码:可直接运行)
其关键特点是使用了对称的编码器-解码器结构,通过跳跃连接(skip connections)将编码器部分的特征图传递给解码器部分,帮助恢复图像的细节。)将特征图上采样到更大的尺寸,并将编码器的特征图(通过跳跃连接)融合到解码器中,以便恢复空间分辨率和细节。上采样块负责将编码器输出的特征图上采样至更大的空间尺寸,并将跳跃连接的特征图与之融合。首先,我们定义了 U-Net 模型的主体结构,包括编码器、解码器以及最终的卷积层。卷积块负责特征提取,通过卷积操作和激活函数(ReLU)来提取图像中的高级特征。
2025-01-06 21:30:05
1832
原创 np.random.default_rng生成随机数
是 NumPy 中用于生成随机数的一个函数,它在 NumPy 1.17 版本中被引入,作为一种更现代的随机数生成方式。(Permuted Congruential Generator)算法的生成器,这比之前使用的。:你可以创建多个生成器对象,它们相互独立,每个对象都有自己的随机状态,避免了使用全局状态的问题。提供了一种更加一致和现代的接口来生成随机数,替代了旧版的。),可以使随机数生成器的结果可重现,这对实验和测试非常重要。),用来生成各种类型的随机数。)具有更好的性能和随机性。
2025-01-01 01:18:18
493
原创 使用np.savez保存np.ndarray数据
np.savez:将多个 NumPy 数组保存到一个.npz文件中,不进行压缩。:将多个 NumPy 数组保存到一个压缩的.npz文件中,节省磁盘空间。.npz文件本质上是一个压缩包,里面存储了多个数组,按键名进行存储和访问。这个功能在需要存储多个数组或大规模数据时特别有用。
2024-12-31 16:39:22
430
原创 Python筛选重复图片
如果你希望更精确地检测相似图像而不仅仅是完全相同的图像,可以使用基于特征匹配的方法,如 SIFT (尺度不变特征变换) 或 ORB(Oriented FAST and Rotated BRIEF)。在训练一些模型时,往往训练集数据存在一些错误数据.比如出现重复的图片,并且这两张图片的标签还不一样,这样会降低模型的准确率.那么该如何找出重复的图片呢?我总结了以下三种方法.如果你要找的是完全相同的图片(即每个像素的值都一致),可以直接通过比较图像的像素值来判断。库,这些库可以帮助你计算图像的哈希值。
2024-12-26 03:36:40
701
原创 使用plt.hist绘制直方图
是 Matplotlib 中用于绘制直方图的函数。直方图用于展示数据的频率分布,特别适合数值型数据的分析。的用法以及各个常用参数的含义。
2024-12-26 01:01:29
519
原创 plt.subplot和plt.subpots绘制多个子图
适用于简单的子图布局,但会显得稍微繁琐。更加灵活,适合创建多个子图并进行更精细的操作。两者根据使用场景选择,是现代 Matplotlib 推荐的方式。
2024-12-26 00:57:38
625
原创 使用python的tempfile模块临时存储文件
模块中的一个类,用于创建临时目录。它可以自动清理目录及其内容,当该目录不再需要时会删除,避免手动清理的麻烦。通常用于需要临时存储文件但又不希望留下痕迹的场景。是一种简洁而安全的方式来处理临时文件和目录。是 Python 标准库。大家好,我素洪小帅~
2024-12-20 19:15:17
362
原创 用Python的glob模块查找文件路径名
匹配零个或多个字符。?:匹配一个字符。[]:匹配一个字符范围或集合。glob():返回匹配的文件路径列表。iglob():返回匹配的文件路径迭代器,适用于大数据集。
2024-12-20 16:01:55
997
原创 Python中的HDF5模块h5py
创建和存储数据集:使用方法。读取数据:通过键(如字典)访问数据集。查看文件结构:使用keys()查看文件的顶层结构。压缩存储:通过和参数进行数据压缩。层次结构:通过组组织数据,可以创建嵌套的组。h5py是一个功能强大的工具,适用于处理大规模数据集,尤其是在机器学习和科学计算中。
2024-12-20 15:45:20
1210
原创 通过argparse.ArgumentParser()解析命令行
模块提供的一个类,用于从命令行解析参数。它可以帮助你从命令行获取程序的输入参数,并将其转化为一个可以在程序中使用的格式。这个方法的参数允许你定义可供命令行输入的参数及其类型。是一个对象,你可以通过属性访问各个命令行参数。例如,若命令行传入了。会自动生成帮助信息,并且如果参数输入不合法,它会给出错误提示。后面应当是一个整数,如果用户输入了非整数的值,以下是一个完整的示例,展示了如何使用。以下是demo程序的–hlep输出。是 Python 标准库中的。会自动提示错误并显示帮助信息。首先,你需要创建一个。
2024-12-19 18:55:48
961
原创 Robosuite强化学习-3.robosuite.wrappers.gym_wrapper.GymWrapper详解
GymWrapper继承了两个基类::这是 RoboSuite 环境的包装类,提供了包装功能。:这是 Gym 环境的基类,定义了与环境交互的核心接口。
2024-12-19 15:21:53
580
原创 robosuite强化学习-2.Environment相关
启用奖励塑形后,智能体会获得更多的中间奖励,减少了学习过程中的“空白期”。下面我们看看这个列表里有些键值对,大家可以根据英文自行推断这些键值对代表的数据,比如第一个键值对显然是joint的cos值,shape为7说明有7个关节(joint)会返回一个observation值,这个值即为对环境env当下状态的观察(即机器人状态,比如joint角度角速度的值,夹子的值).同时agent在执行action时。这是环境的一个内部参数,决定是否应用奖励塑形机制来改变奖励函数,从而加速智能体的学习过程。
2024-12-19 01:19:22
732
原创 Robosuite强化学习-1.Download and Basic Usage)
库的基本示例,用于模拟一个机器人在一个虚拟环境中执行任务。这个demo是官方文档里的,最终效果是实现让机械臂采取随机数值的action乱动。这是我见过的使用起来最简单最方便的机器人强化学习仿真平台。
2024-12-18 18:23:44
810
原创 Jupyter Notebook加入conda虚拟环境为kernel
通过以上步骤,你可以轻松地在中使用conda的虚拟环境。关键在于使用ipykernel将虚拟环境注册为 Jupyter 的内核,并通过 Jupyter 界面选择相应的内核。
2024-12-18 16:09:32
495
原创 数据库引论笔记(二):数据库设计和E-R模型
则我们可以把A和AB两个模式合并成包含两个模式所有属性的并集的模式。一个非二元的(n元,n>2)联系集总可以用一组不同的二元联系集来替代。所有实体集的主码的并集一定是超码,因为其一定可以唯一标识一个联系。如果是一对一的联系,联系集的关系模式可以跟任意一个实体集的模式合并。在菱形和矩形的连线上标注角色(即对实体的主码重命名)二元关系联系集的主码依赖于联系集的映射基数。属性的值的取值范围称为域(domain)这样做的目的是强调实体集之间的依赖关系。考虑从实体集A到实体集B的一个。关系模式R在相关的每个实体集。
2024-04-04 18:36:36
1134
1
原创 Flask学习笔记(一):基本框架和HTTP处理
兄弟们,flak是真好用吧!本文是笔者学习flask时做的笔记的第一篇,记录了一些最基础且常用的入门级操作.提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
2024-03-10 01:51:27
1255
2
原创 数据库引论笔记(一):关系型数据库基本术语
学习数据库引论建议先花两个小时实践一下mysql的一些基本操作,一上来直接学各种概念容易头大.mysql开源免费下载比较简单,操作也很容易,csdn上也有很多教学,大家加油!理论部分的各种术语大家不要纠结字面意思,这些术语一般没什么命名的内核,但是可以作为一种命名约定方便交流,我们只需要记住理解术语的指代的对象即可。
2024-03-07 15:45:23
559
1
原创 深度学习入门:mnist分类和boston房价预测的简单实现
这是笔者在学习过程中跟着学习视频的教学写的代码,可以完整运行,希望能对小白有所帮助
2024-03-04 15:05:31
481
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人