合集-NLP
摘要:参考: https://blog.csdn.net/id_hao/article/details/126078989 https://blog.csdn.net/weixin_43969246/article/details/106548283 #data.txt #存放位置:NLP basic\\
阅读全文
摘要:第一章 python 入门 https://hvsvw3pm1jp.feishu.cn/docx/AHDydhmMqowoW6xZbNXcm7imn4g?from=from_copylink
阅读全文
摘要:方案1(未安装nltknltk及其语料库情况) 安装nltk及其语料库 参考: https://blog.csdn.net/weixin_51327281/article/details/127700781 然后,python环境下: imort nltk nltk.download('punkt_
阅读全文
摘要:这是对【习题1】的扩展 其中list中多个字符串合并为一个思路参考了这个帖子:https://blog.csdn.net/Geeksongs/article/details/106067766 # 创建read_data函数,参数为file_path。该函数用于读取数据文件,并返回一个包含数据的列表
阅读全文
摘要:优化了一下【习题1】利用Python分离文件中的英文和中文(2)帖子里的代码,并附上了思路的图片 c_list = [] e_list = [] c_index_dict = {} e_sum_dict = {} def read_data(file_path): with open(file_pa
阅读全文
摘要:pip3 install numpy 参考:https://www.runoob.com/numpy/numpy-install.html
阅读全文
摘要:strip与split的区别 strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。 split()方法用于将字符串按照指定分隔符拆分为多个子字符串。
阅读全文
摘要:import os #os库用作拼接文件路径 file_path = os.path.join(os.path.dirname(__file__), "data", "train.txt") # 拼接文件路径 等同于 file_path = "NLP basic\\data\\test.txt"
阅读全文
摘要:转载: Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) os.path.split():按照路径将文件名和路径分割开 一、函数说明 1、split()函数 语法:
阅读全文
摘要:import random #引入random包 list1=[1,2,3,4,5]#定义列表list1 print(list1)#打印list1 random.shuffle(list1) #打乱list1中元素 print(list1)#打印随机后的list1
阅读全文
摘要:训练数据 位置: NLP basic/data/train.txt 我国科学家在脑图谱研究领域取得新突破 2 活力中国调研行|好用好玩!AI点亮百姓生活 0 为何动物伪装不完美也能吓退天敌? 1 重庆黔江被确认为白垩纪恐龙化石集群埋藏地 a 研究发现运动抗衰老的关键因子 1 智能设备织密暑期“安全网
阅读全文
摘要:##格式化字符串 # a = 10 # b = 3.1415926 # c = "hello, world" # # 格式化字符串1 # d = f"{a}afsdf}}gsgsg{b:.2f}{c}" # 输出:"10afsdfgsgsg3.14hello, world",保留2位小数。}}表示}
阅读全文
摘要:# 0:导包 # 1:读数据 # 2:定义数据集,Dataset类:分发数据;数据打乱;数据准备;数据处理等 # 3:定义模型,Model类(待继续优化) # 4:训练模型 # 导入必要的库 os用作拼接文件路径 math.ceil()用于计算向上取整 random.shuffle()用于打乱数据集
阅读全文
摘要:代码再优化,解耦,Dataset负责数据,Dataloder负责数据处理 import os import math import random all_text = [] # 定义一个空列表all_text all_label = [] # 定义一个空列表all_label def read_fi
阅读全文
摘要:train2 我国科学家在脑图谱研究领域取得新突破 民生 活力中国调研行|好用好玩!科技I点亮百姓生活 财经 为何动物伪装不完美也能吓退天敌? 科技 重庆黔江被确认为白垩纪恐龙化石集群埋藏地 科技 研究发现运动抗衰老的关键因子 科技 智能设备织密暑期“安全网” 科技 我国首个海水漂浮式光伏项目建成投
阅读全文
摘要:import os import math import random def read_file(filepath): with open(filepath, "r", encoding="utf-8") as f: all_lines = f.read().split("\n") # print
阅读全文
摘要:Question raise的用法 Answer 在 Python 中,raise 关键字用于手动引发(抛出)异常。这在处理错误、异常情况或需要中止程序正常流程时非常有用。以下是 raise 关键字的基本用法和一些常见示例: 基本用法 raise 异常类型([异常参数]) 异常类型:这是你想要引发的
阅读全文
摘要:Question enumerate Answer all_label` � Question enumerate Answer enumerate 是 Python 的一个内置函数,用于在遍历可迭代对象(如列表、字符串等)时,同时获取元素的索引和值。它的基本语法如下: enumerate(iter
阅读全文
摘要:# 这版代码是将数据集的读取和处理分离,同时将文本和标签构建字典 # 字典的构建方法是将所有文本中的词汇和标签都加入字典,并给每个词汇和标签分配一个索引 # max_len是设置的最大长度,超过这个长度的文本将被截断 # 如果文本长度小于max_len,则用0填充 # 导入numpy库,并将处理过的
阅读全文
摘要:pip install pandas pip install openpyxl
阅读全文
摘要:参考: https://blog.csdn.net/QLeelq/article/details/122310742
阅读全文
摘要:# 梯度下降 # 损失函数的意义是衡量预测值与真实值的差距,越小越好,这里的损失函数是平方误差。 # 梯度下降算法的基本思想是: # 1. 随机初始化模型参数 # 2. 计算损失函数关于模型参数的导数 # 3. 根据导数更新模型参数,使得损失函数最小 # 4. 重复2、3步,直到模型参数收敛或达到最
阅读全文
摘要:https://www.cnblogs.com/BlogNetSpace/p/18861160
阅读全文
摘要:# 线性回归 # y=kx+b # 数据获取 xs = [i for i in range(2008, 2023)] ys = [ 5000, 8000, 12000, 20000, 32000, 35000, 40000, 48000, 53000, 54000, 57000, 58000, 59
阅读全文
摘要:# 线性回归 # y=k1x1+k2x2+b import random # 数据获取 xs1 = [i for i in range(2003, 2023)]#年份 xs2 = [random.randint(60, 150) for i in range(2003, 2023)]#面积 ys =
阅读全文
摘要: 。下面我们详细讲解它的用法、参数、示例以及常见注意事项。 一、基本语法 numpy.array(object, dtype=None, copy=True, order='K', subok
阅读全文
摘要:dstack方法的主要作用是将两个或更多的数组沿着第三个轴(深度方向)堆叠起来。 import numpy as np # 创建两个二维数组(具有相同的行数和列数) a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) # 使用d
阅读全文
摘要:reshape()函数用于在不更改数据的情况下为数组赋予新形状。 参考: https://blog.csdn.net/weixin_43937759/article/details/106605680 https://blog.csdn.net/mingyuli/article/details/81
阅读全文
摘要:线性回归 y=k1x1+k2x2+b import random import numpy as np 数据获取 xs1 = np.array([i for i in range(2003, 2023)]) # 年份,2003-2022 xs2 = np.array([random.randint(
阅读全文
摘要:python -m pip install scikit-learn
阅读全文
摘要:Sigmoid函数 https://baike.baidu.com/item/Sigmoid函数/7981407 https://blog.csdn.net/hy592070616/article/details/120617176
阅读全文
摘要:https://blog.csdn.net/FriendshipTang/article/details/137601972 https://jishuzhan.net/article/1957858919996502018
阅读全文
摘要:这个怪难的,而且预测的也没那么准 # 逻辑回归 import numpy as np # 导入numpy库 def sigmoid(x): # sigmoid函数是激活函数,用于将线性模型转换为概率模型 result = 1 / (1 + np.exp(-x)) # 计算sigmoid函数 retu
阅读全文
摘要:参考 https://zhuanlan.zhihu.com/p/155748813 https://www.birdpython.com/posts/5/22/ https://blog.csdn.net/bwqiang/article/details/110203835
阅读全文
摘要:参考: https://vscode.js.cn/docs/debugtest/debugging https://blog.csdn.net/weixin_51899238/article/details/136502021
阅读全文
摘要:https://zhuanlan.zhihu.com/p/168562182 这个更清楚些 https://blog.csdn.net/bitcarmanlee/article/details/82320853 def softmax(x): max_x = np.max(x, axis=-1, k
阅读全文
摘要:enumerate() 是 Python 中一个非常实用的内置函数,它用于在遍历一个可迭代对象(如列表、元组、字符串等)的同时,获取每个元素的索引和值。 为什么需要 enumerate()? 在没有 enumerate() 之前,如果你想同时获取索引和值,通常需要手动维护一个计数器: fruits
阅读全文
摘要:https://zhuanlan.zhihu.com/p/56638625
阅读全文
摘要:由计算结果可见,softmax和交叉熵结合之后求导,就是softmax之后的结果减去对应的y值,由此进行反向传播。 https://blog.csdn.net/weixin_44750512/article/details/129185574
阅读全文
摘要:##手写数字识别 # 对分类任务而言,标签不可以用数值表示,而应该用向量表示(向量有相似度)。因此,我们需要将标签转换为独热编码形式(onehot )。 # 导入必要的库 import numpy as np # numpy库 import os # 操作系统库 import struct # 数据
阅读全文
摘要:.shape 不是一个函数,而是numpy的一个属性(attribute),用于获取数组维度信息。它返回一个元组(tuple),元组中的每个元素代表对应维度的大小。 import numpy as np # 1D 数组 (向量) arr1d = np.array([1, 2, 3, 4, 5]) p
阅读全文
摘要:np.zeros 是 NumPy 库中的一个非常常用的函数,它的作用是创建一个指定形状和数据类型的新数组,并用 0 来填充所有元素。 np.zeros 的基本用法 函数的完整签名是 numpy.zeros(shape, dtype=float, order='C')。 shape:你想要创建的数组的
阅读全文
摘要:在 Python 3.6 及更高版本中,在字符串前加上一个 f,表示这是一个 f-string(格式化字符串字面量)。 f-string 的主要作用是让你在字符串中嵌入 Python 表达式,使得格式化字符串变得非常简洁和直观。 f-string 的基本用法 你只需要在字符串开头加上 f,然后在字符
阅读全文
摘要:enumerate() 是 Python 中一个非常实用的内置函数,它用于在遍历一个可迭代对象(如列表、元组、字符串等)的同时,获取每个元素的索引和值。 为什么需要 enumerate()? 在没有 enumerate() 之前,如果你想同时获取索引和值,通常需要手动维护一个计数器: fruits
阅读全文
摘要:if __name__ == "__main__": 是 Python 中的一个标准代码块,用于检查一个脚本是否是直接运行的。 工作原理 当一个 Python 脚本被解释器执行时,它会自动定义一些特殊变量。其中一个就是 __name__。 如果脚本是直接运行的,Python 会将 __name__
阅读全文
摘要:train-labels.idx1-ubyte 是 MNIST 数据集中的一个文件。它不是一个普通的文本文件,而是一个经过特定格式编码的二进制文件。 简单来说,这个文件里只包含一个东西:MNIST 训练集图像的标签。 文件内容 这个文件的内容是一个字节序列,其中每个字节都代表一个手写数字的标签。它包
阅读全文
摘要:reshape() 是 NumPy 数组的一个方法,用于改变数组的形状,同时不改变其数据。 简单来说,它就像一个魔术师,能在不改变魔方块数量的情况下,将一个魔方重新排列成不同的形状。 reshape() 的基本用法 arr.reshape(new_shape) arr 是你要改变形状的 NumPy
阅读全文
摘要:在 Python 中,数组相乘有多种方式,取决于你想要实现的是元素级别的相乘还是矩阵乘法。这两种操作在数学和数据科学中有本质区别。 1. 元素级别相乘 (Element-wise Multiplication) 这是最常见的数组相乘方式,它将两个形状相同的数组的对应位置的元素相乘,然后生成一个新的数
阅读全文
摘要:.zip() 函数在 Python 中是一个非常实用的内置函数,它用于将多个可迭代对象(比如列表、元组等)中的元素打包成一个元组的迭代器。 简单来说,它的作用就是把不同序列中对应位置的元素配对,就像拉链一样把两排牙齿咬合在一起。 zip() 的基本用法 zip(iterable1, iterable
阅读全文
摘要:argmax 是 NumPy 和许多其他科学计算库(如 PyTorch、TensorFlow)中的一个非常常用的函数,它的作用是返回数组中最大值的索引。 简单来说,argmax 告诉你最大值在哪里,而不是最大值是多少。 argmax 的基本用法 np.argmax(a, axis=None, out
阅读全文
摘要:keepdims 是 NumPy 中一个非常实用的参数,它在对数组进行聚合操作(如 sum, mean, max 等)时,用来控制输出数组的维度。 keepdims 的作用 当你对一个数组进行聚合操作时,结果通常会减少一个维度。 例如,对一个 (3, 4) 的二维数组按行求和: import num
阅读全文
摘要:np.clip() 是 NumPy 中一个非常实用的函数,用于将数组中的值裁剪(或者说限制)在一个指定的区间内。 它的作用就像一把剪刀,把数组中所有超出规定范围的数值都剪掉,让它们回到这个范围的边缘。 np.clip() 的基本用法 np.clip() 的基本语法是: np.clip(a, a_mi
阅读全文
摘要:原代码 def sigmoid(x): result = 1 / (1 + np.exp(-x)) return result 问题:当-x值过大,会导致溢出错误 改进后代码 def improved_sigmoid(x): # 创建一个与输入x相同大小的空数组来存储结果 result = np.z
阅读全文
摘要:[::-1] 是 Python 中一种非常简洁且常用的切片(slice)语法,它的作用是反转序列。 它可以用在多种数据类型上,包括: 列表 (list) 字符串 (string) 元组 (tuple) NumPy 数组 语法解析 切片语法的一般形式是:[start:stop:step] start:
阅读全文
摘要:在机器学习和深度学习中,我们通常不会用全部数据来训练模型,而是将其划分为三个独立的部分:训练集、验证集和测试集。 这就像一个学生准备考试一样: 1. 训练集 (Training Set) 训练集是学生上课时做的所有练习题。 作用:用来训练模型。模型通过在训练集上学习数据中的模式和规律,并根据这些规律
阅读全文
摘要:# 导入必要的库 import numpy as np import os import struct import matplotlib.pyplot as plt # 定义导入函数 def load_images(path): with open(path, "rb") as f: data =
阅读全文
摘要:#这个版本考虑将隐藏层、输出层及对应的forward和backward封装到对于类中 #减少了步长,实测lr>0.02就会溢出,可能是哪里没有优化好 # 导入必要的库 import numpy as np import os import struct import matplotlib.pyplo
阅读全文
摘要:tanh函数(双曲正切函数)是神经网络中一种常用的激活函数,它的数学表达式为: 它的输出范围是 (-1, 1)。 tanh函数的特点 非线性:和 Sigmoid 函数一样,tanh 函数也是非线性的,这使得它能够为神经网络引入非线性特性,从而学习和解决更复杂的问题。 对称性:tanh 函数关于原点对
阅读全文
摘要:ReLU 函数 ReLU(Rectified Linear Unit,修正线性单元)是目前在深度学习中最常用的激活函数。它的数学表达式非常简单: f(x) = max(0, x) 这意味着当输入 $x$ 大于 0 时,输出就是 $x$ 本身;当输入 $x$ 小于或等于 0 时,输出就是 0。 ReL
阅读全文
摘要:np.arange 函数是 NumPy 库中一个非常实用的函数,用于创建等差数列。它的功能类似于 Python 内置的 range() 函数,但它返回的是一个 numpy.ndarray 类型的数组,这使得它在科学计算中非常方便。 np.arange 的基本用法 np.arange 的基本语法有三种
阅读全文
摘要:二维数组ba,三维数组cba,多维数组n...ba,他们的axis=-1,这个维度都是指向a axis=-1 的通用性 无论 NumPy 数组有多少个维度,axis=-1 总是指向最后一个维度。 数组类型 形状(Shape) 维度索引 axis=-1 指向 一维数组 (a,) axis=0 或 ax
阅读全文
摘要:__repr__ 是 Python 中一个非常重要的魔术方法(Magic Method),也常被称为双下划线方法 (Dunder Method)。它的主要作用是为对象提供一个官方的、明确的、面向开发者的字符串表示形式(Representation)。 简单来说,当你需要用代码的方式来重建或识别一个对
阅读全文
摘要:# 优化: # 1. 增加Modulist类,再次封装每层及forward和backward # 2. 删除import matplotlib.pyplot as plt,暂时不需要画图;删去全局变量shuffle,在linear类实现 # 3. 增加__repr__魔数,可以快速查看每层大小 #
阅读全文
摘要:# 继承 class F: def __init__(self): self.info = "hello Father" def fun1(self): return self.info class S(F): pass f = F() s = S() print(f.fun1()) # hello
阅读全文
摘要:np.random.rand 是 NumPy 库中一个常用的函数,用于创建包含随机数(浮点数)的数组。 np.random.rand 详解 1. 核心功能 np.random.rand 生成的随机数服从**[0.0, 1.0) 范围内的均匀分布(Uniform Distribution)**。 均匀
阅读全文
摘要:Dropout(丢弃法)是一种在神经网络训练中广泛使用的正则化(Regularization)技术。它的主要作用是防止模型在训练集上过拟合(Overfitting),从而提高模型在未见过数据(测试集)上的泛化能力。 Dropout 类的作用和工作原理 如果你要在你的面向对象的神经网络框架中实现一个
阅读全文
摘要:优化器(Optimizer)是深度学习和机器学习中最核心的组件之一。 简单来说,优化器的作用就是指导模型如何学习。它决定了在反向传播计算出梯度(模型应该朝哪个方向调整)之后,模型应该以多大的“步伐”和什么样的方式来实际更新它的权重和偏置。 你可以把优化器看作是一个驾驶员,而梯度(Loss 对权重的导
阅读全文
摘要:抽象化编程(Abstraction in Programming)是面向对象编程(OOP)中一个非常重要的设计原则,它与我们前面讨论的封装、继承、多态紧密相关。 抽象化编程的含义 核心思想: 关注于做什么(What),而不是如何做(How)。 抽象化意味着隐藏对象的复杂实现细节,只向用户暴露必要的功
阅读全文
摘要:Momentum Gradient Descent(动量梯度下降)是标准梯度下降(SGD)的一个重要改进版,旨在加速训练过程,并帮助模型更有效地找到最优解。 你可以将动量(Momentum)想象成物理学中的惯性。 动量梯度下降(Momentum GD)的核心思想 标准 SGD 的问题: 标准的 SG
阅读全文
摘要:# 优化: # 增加父类Module,输出每层信息 # 增加ReLU类,Tanh类 # 增加Dropout类,随机失活,防止过拟合,提高泛化能力 # 增加Parameter类,保存权重和梯度 # 导入必要的库 import numpy as np import os import struct #
阅读全文
摘要:您好,np.random.seed(1000) 这行代码的意思是:设置 NumPy 伪随机数生成器的种子(Seed)。 它的核心作用是确保您代码中的随机性是可复现的(Reproducible)。 💡 为什么需要设置 Seed? 在深度学习中,很多操作都涉及随机性: 权重初始化: np.random
阅读全文
摘要:# 优化: # 新建Model类,将神经网络的结构定义、训练流程(前向/后向)和预测逻辑统一封装起来 # 何将权重更新的职责从网络层(Linear)中分离出来,交给优化器(SGD)来完成 # 使用动量梯度下降优化算法(MSGD) # 增加了Adam优化算法 # 增加了Optimizer类,优化器的父
阅读全文
摘要:# 优化: # 导入Pickle模块,用于保存和加载数据 # He 初始化,修改linear和Conv2D初始化权重初始化方式,准确率大幅提升 # 增加学习率策略,对这个策略再做优化,准确率应该还能提升 # 保存最优模型参数 # 导入必要的库 import numpy as np import os
阅读全文
摘要:# # 10_11验收手写数字识别 # # 在解耦和验收测试集图片和标签处理上仍有较大优化空间 # 导入相关库 import numpy as np import os import struct import pickle import cv2 # 定义导入函数 def load_images(p
阅读全文
摘要:将前文的代码解耦为三个部分: 定义的类和函数的nn_core.py 模型训练和测试集验证并保存最优模型的main_train.py 验收 (自定义图片预测)的脚本predict.py 至此,手写数字识别的NLP任务完全结束,至于更多的优化目前我不准备做了。 下面是源码: nn_core.py # 更
阅读全文
摘要:将代码解耦并使用 import 语句导入您自己的模块(例如 import nn_core)时,Python 就会创建这个 __pycache__ 文件夹。 __pycache__ 是什么? __pycache__ 文件夹是 Python 解释器在运行模块代码时自动创建的,用于存放模块的字节码缓存文件
阅读全文
摘要:移除不兼容的pytorch版本 运行代码时报错 这个错误表明正在使用的 PyTorch 版本过旧,它不支持 torch.utils.data.DataLoader 的 persistent_workers 参数或属性。 卸载旧版 pip uninstall torch torchvision tor
阅读全文
摘要:#onehot 文本分类 #平均池化及坍缩的恢复,很难理解啊 import numpy as np from torch.utils.data import Dataset, DataLoader # 定义read_data函数,读数据 def read_data(path): with open(
阅读全文
摘要:在许多国家的医疗体系中,医疗服务会根据其复杂程度、专业深度和资源需求,被划分为不同的级别或层级。 🏥 三级医疗服务体系 (Three Tiers of Care) 层级 英文名称 核心特征 典型场所 (Settings) 初级护理 Primary Care 基本、基础、持续的护理。 它是患者接触医
阅读全文

浙公网安备 33010602011771号