合集-NLP

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