机器学习
分享机器学习相关知识
我有明珠一颗
一条通往业界大神的成功之路
展开
-
AttributeError: module ‘numpy’ has no attribute ‘int’
2、报错:AttributeError: module 'numpy' has no attribute 'float'1、报错:AttributeError: module 'numpy' has no attribute 'int'解决办法:把np.float替换为float或者np.float64/np.float32 即可。原创 2024-07-15 16:33:47 · 283 阅读 · 0 评论 -
sklearn.svm.SVC 支持向量机-简介
sklearn.svm.SVC 是 Scikit-learn(一个常用的机器学习库)中的一个类,用于支持向量机(Support Vector Machine,SVM)算法中的分类任务。SVM 是一种用于分类和回归的监督学习算法。在分类任务中,SVM 构建一个决策边界,将不同类别的样本分开。SVC 类则实现了标准的支持向量机分类器。原创 2024-01-22 16:55:41 · 889 阅读 · 2 评论 -
RuntimeError:An attempt has been made to start a new process before the current process has finished
RuntimeError:An attempt has been made to start a new process before the current process has finished its bootstrapping phase. This probably means that you are not using fork to start your child processes and you have forgo原创 2024-01-11 18:09:35 · 443 阅读 · 0 评论 -
什么是前向传播?什么是反向传播?
前向传播和反向传播是紧密相关的过程,它们相互配合,实现了神经网络的训练。通过前向传播,模型可以根据输入数据生成预测结果;通过反向传播,可以计算模型的梯度信息,从而进行参数优化。这样循环迭代进行多次,直到模型的性能达到预期水平。原创 2024-01-10 13:35:42 · 3135 阅读 · 0 评论 -
torch.solve已弃用,如何改为torch.linalg.solve?
1、torch.solve 函数的期望输入有2个:右侧向量、系数矩阵;而 torch.linalg.solve 函数的期望输入也有2个:系数矩阵、右侧向量(顺序与torch.solve的输入相反)。2、torch.solve和torch.linalg.solve在返回值上也有所不同。torch.solve函数返回一个元组(solution, LU),其中solution是解向量,LU是矩阵A的 LU 分解。LU 分解是一种将矩阵分解为下三角矩阵L和上三角矩阵U的方法。原创 2024-01-06 14:37:31 · 1700 阅读 · 0 评论 -
在PyTorch中设置随机数生成器的种子值
在PyTorch中设置随机数生成器的种子值的方法CPU:可以使用torch.manual_seed()函数GPU:需要额外设置torch.cuda.manual_seed()来设置GPU上的随机数生成器种子值。原创 2023-12-26 15:01:38 · 778 阅读 · 0 评论 -
将ipynb文件转为py的简单方法(图文并茂)
打开可以使用jupyter命令的命令窗口(如果没有jupyter则需要先安装jupyter),cd 命令进入到 ipynb 文件所在的文件夹,执行jupyter nbconvert --to script xxx.ipynb 即可完成 ipynb 文件到 py 文件的转化,执行jupyter nbconvert --to script *.ipynb 则可以实现将当前文件夹下(不包括子文件夹下)的所有ipynb 文件到 py 文件。原创 2023-12-25 11:38:15 · 2709 阅读 · 0 评论 -
TypeError: No loop matching the specified signature and casting was found for ufunc logical_or 解决办法
TypeError: No loop matching the specified signature and casting was found for ufunc logical_or 解决办法原创 2023-12-22 18:26:59 · 1836 阅读 · 0 评论 -
LINK : fatal error LNK1181: 无法打开输入文件“ID=2.obj”
毫不夸张地说,这个问题困扰了我两天,搞得我两台机器上都搭建了环境,誓要测试出是什么问题,在最后就快要放弃的时候,偶然发现了问题,问题是出现在代码上,类似于文件路径的地方。1、报错内容:nvcc --compiler-bindir C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\hostx64\x64 --shared -LD:\ProgramData\Anacond原创 2021-07-29 18:50:56 · 441 阅读 · 2 评论 -
知识蒸馏(Pytorch入门)
【代码】蒸馏学习(Pytorch入门)原创 2023-11-15 11:00:00 · 542 阅读 · 0 评论 -
element-wise product:两个矩阵对应位置元素进行乘积
element-wise product = element-wise multiplication = Hadamard product含义:两个矩阵对应位置元素进行乘积原创 2023-04-26 13:30:53 · 2397 阅读 · 0 评论 -
语义分割 - 简介
语义分割是计算机视觉领域的一项重要任务,旨在将图像中的每个像素标记为对应的语义类别。与传统的图像分类任务不同,语义分割不仅要识别整个图像的类别,还需要对图像中的每个像素进行分类,从而实现对图像的像素级别理解。语义分割的目标是为图像中的每个像素分配一个语义标签,这些标签通常代表不同的物体、物体部分或场景类别。例如,在一张道路图像中,语义分割可以将每个像素标记为车辆、行人、道路、建筑等类别。这种像素级的标注可以为许多应用提供更详细的信息,比如自动驾驶、医学图像分析、智能视频监控等。原创 2023-10-31 20:52:37 · 261 阅读 · 0 评论 -
语义分割 & 实例分割的异同点
语义分割和实例分割是计算机视觉领域中两个相关但不同的任务,它们都涉及对图像像素进行分类和标记,但关注的对象和目标有所不同。语义分割关注的是图像中不同语义类别的分割,而实例分割不仅关注语义类别的分割,还要对不同实例进行区分。两者在目标定义、输出结果和处理方式上有明显的区别,应用于不同的计算机视觉任务中。原创 2023-10-31 20:51:17 · 1277 阅读 · 0 评论 -
EEG 情绪标签 - 简介
在EEG情绪研究中,有两种常见的情绪表达方式:多维度情绪模型、离散情绪模型。原创 2023-10-25 12:00:18 · 759 阅读 · 0 评论 -
EEG脑电信号的具体采集过程
脑电图(EEG)是一种记录大脑活动的非侵入性方法。下面是EEG脑电信号的典型采集过程:准备:在进行EEG采集之前,需要准备好以下设备和材料:EEG采集设备:包括EEG电极、放大器和记录设备。电极帽或电极盘:用于安装电极在头皮上。电极准备液:通常是一种导电凝胶,用于改善电极与头皮之间的接触。原创 2023-10-25 10:26:05 · 1456 阅读 · 0 评论 -
简单介绍一下迁移学习
迁移学习是一种机器学习技术,旨在利用从一个任务或领域学习到的知识来改善另一个任务或领域的学习性能。在传统的机器学习方法中,通常假设训练数据和测试数据是从相同的分布中独立同分布采样的。然而,在现实世界中,这个假设并不总是成立,因为在不同的任务或领域中可能存在差异。迁移学习的目标是通过利用源领域(source domain)上学习到的知识来提升目标领域(target domain)上的学习表现。源领域通常具有丰富的标注数据或已经训练好的模型,而目标领域的数据相对较少或者没有标注。原创 2023-10-25 10:21:51 · 389 阅读 · 0 评论 -
人工智能期末考试(刷题篇&部分题有答案)
参考:https://wenku.baidu.com/view/6553b54458cfa1c7aa00b52acfc789eb172d9e08.htmlhttps://wenku.baidu.com/view/cdff736caf1ffc4ffe47accb.htmlhttps://wenku.baidu.com/view/c214804be45c3b3567ec8b79.html#https://wenku.baidu.com/view/a5be97c726d3240c844769eae原创 2023-10-23 14:57:25 · 6753 阅读 · 0 评论 -
人工智能期末考(东大卷)
刚刚考完人工智能,趁着记忆还热乎,记录一下填空题(15题,没空0.5’,共20’)1、生成式连接词:否定(negation)、析取(disjunction) or、合取(conjunction) and、蕴含(implication)/条件(position)、等价(equivalence)/双条件量词(quantifier):全称量词(universal quantifier)、存在量词(existential quantifier)对于一阶谓词逻辑,即若子句集是不可满足的,则必存在一个从该原创 2023-10-23 14:55:28 · 283 阅读 · 0 评论 -
论文阅读笔记《DRAW: A Recurrent Neural Network for Image Generation》
笔者想要深入理解循环神经网络,找了一通,发现一篇比较有意思的论文,在此做个记录。该论文于2015年由Google Deepmind发表在ICML并产生了很大的影响力。摘要本文介绍了用于图像生成的深度循环注意力写入器(Deep Recurrent Attentive Writer,DRAW)神经网络体系结构。 DRAW网络结合了模仿人眼偏爱的新颖空间注意力机制,以及允许迭代构造复杂图像的顺序变分自动编码框架。该系统大大改进了MNIST生成模型的最新技术,并且在Street View House Numbe原创 2023-10-23 14:54:08 · 130 阅读 · 0 评论 -
学习率设置太大或者太小会有哪些影响?
学习率是机器学习算法中的一个重要超参数,它控制了参数更新的步长。学习率设置得太大或太小都可能对训练过程产生负面影响。原创 2023-10-13 16:41:17 · 3664 阅读 · 0 评论 -
过拟合和欠拟合是什么?有什么异同点?解决办法是什么?
1、过拟合过拟合指的是模型在训练数据上表现得很好,但在未见过的测试数据上表现较差的情况。过拟合通常发生在模型过于复杂、参数过多的情况下,导致模型过度记忆了训练数据的噪声和细节,而忽略了数据的整体趋势和泛化能力。过拟合的模型对训练数据过于敏感,可能会出现过度拟合噪声的情况,导致泛化能力下降。2、欠拟合欠拟合指的是模型在训练数据上表现较差,无法很好地捕捉数据的特征和模式。欠拟合通常发生在模型过于简单、参数过少的情况下,导致模型无法适应数据的复杂性和变化,无法捕捉数据的潜在规律和特征。原创 2023-10-13 16:31:39 · 6229 阅读 · 0 评论 -
TypeError: Parameter to MergeFrom() must be instance of same class: expected Summary got Summary.
问题就在这里:这几行代码注释掉,程序就能正常运行,所以我知道可能是tensorboardX版本问题,但是网上找不到,最后在一篇博文https://blog.csdn.net/qq_43620967/article/details/110199356里面挖到了答案,这里把它作为标题放出来,帮助更多人。把原来的:from tensorboardX import SummaryWriter改为:from torch.utils.tensorboard import SummaryW..原创 2021-06-05 10:55:01 · 2447 阅读 · 0 评论 -
手写数字识别入门例子(TensorBoard初体验)
继 TensorFlow第一天,从入门到绝望到重新看到希望,继续记录下我的学习过程吧!1、前面已经成功运行了第一步:cd c:/Users/wenfeng/.conda/envs/py36/lib/site-packages/tensorflow/examples/tutorials/mnistpython mnist_with_summaries.py等待几分钟2、进行第二步,打开 TensorBoard 面板:cd c:/Users/wenfeng/.conda/envs/py.原创 2020-11-07 22:26:16 · 216 阅读 · 0 评论 -
GridSearchCV 工具介绍
GridSearchCV 是一个用于超参数调优的工具,它在给定的参数网格中执行交叉验证,以确定最佳的参数组合。通过穷举搜索(exhaustive search)来寻找最佳参数,即尝试所有可能的参数组合,并使用交叉验证来评估每个参数组合的性能。原创 2023-10-05 00:55:59 · 556 阅读 · 0 评论 -
StratifiedKFold 函数介绍
StratifiedKFold 是一种交叉验证方法,用于在机器学习任务中对数据集进行划分。它是对KFold方法的改进,特别适用于样本不平衡的情况。在 StratifiedKFold 中,数据集被划分为k折(folds),其中每折都保持了原始数据中各个类别的样本比例。这意味着每个折中的类别分布与整个数据集中的类别分布相似。原创 2023-10-05 00:35:17 · 1534 阅读 · 0 评论 -
numpy.ptp
意义:轴方向上的最大值与最小值之差示例:a = np.arange(9).reshape((3,3))print(a)# [[0 1 2]# [3 4 5]# [6 7 8]]b = np.ptp(a, axis=0) # axis=0 表示纵向print(b) # [6 6 6] # 6-0, 7-1, 8-2c = np.ptp(a, axis=1) #...转载 2019-06-12 21:50:15 · 1752 阅读 · 1 评论 -
sklearn.preprocessing.scale
sklearn.preprocessing.scale简介函数:sklearn.preprocessing.scale(X, axis=0, with_mean=True, with_std=True, copy=True)作用:数据标准化公式:(X-X_mean)/X_std 计算时对每个属性/每列分别进行。原理:将数据按其属性(按列进行)减去其均值,然后除以其方差。最后得到的结果是,对...转载 2019-06-11 19:06:05 · 14189 阅读 · 1 评论 -
机器学习实战-第二章-k近邻算法(kNN)-代码超详细解析(python3.7)
想直接要官网程序和数据完整包的(python2.6),请访问:https://www.manning.com/books/machine-learning-in-action想直接要我的程序和数据完整包的(python3.7),请访问:https://download.csdn.net/download/m0_37738114/12894377学习过程中,参考了太多前人的资料,我忘记记录了,总之感谢各位前辈!1、首先本章给我们介绍了一个kNN小示例,里面写了必要流程函数:# 导入科学计算包原创 2020-09-28 11:29:10 · 961 阅读 · 1 评论 -
LogisticRegression 与 LogisticRegressionCV 的区别
LogisticRegression 用于拟合逻辑回归模型,并手动调整超参数。LogisticRegressionCV 基于交叉验证自动选择最佳的正则化强度,无需手动调整超参数。根据你的需求,你可以选择使用其中之一。如果你希望手动调整正则化强度或其他超参数,可以使用LogisticRegression。如果你希望自动选择最佳的正则化强度,并进行交叉验证来提高模型性能,可以使用LogisticRegressionCV。原创 2023-10-04 23:15:42 · 570 阅读 · 0 评论 -
RandomForestClassifier 与 GradientBoostingClassifier 的区别
RandomForestClassifier使用随机森林集成多个决策树,通过投票或平均来生成最终的预测结果,具有较好的鲁棒性。GradientBoostingClassifier使用梯度提升方法集成多个决策树,通过加权组合决策树的预测结果来提升整体模型性能,对噪声和离群值的鲁棒性相对较弱。原创 2023-10-04 23:08:22 · 914 阅读 · 0 评论 -
torch.softmax、torch.nn.Softmax、torch.nn.funtial.softmax和torch.nn.functional.log_softmax的区别
没有找到torch.softmax、torch.nn.Softmax、torch.nn.funtial.softmax这几者的具体区别,但使用方法挺类似的,dim值设为 0 or -1,如果不加的话,torch.softmax会直接报错,另外几个会有deprecated弃用警告。log_softmax出来的结果是softmax的log值。原创 2023-02-04 17:18:34 · 791 阅读 · 0 评论 -
set_xscale 表示x轴缩放比例,一张图明明白白
set_xscale 意为设置x轴缩放比例,设置为‘linear’时,x轴是均匀分布的;设置为‘log’时,x轴比例尺逐渐增大。原创 2023-02-02 23:55:04 · 1642 阅读 · 0 评论 -
Could not load dynamic library ‘cudnn64_7.dll‘; dlerror cudnn64_7.dll not found
在网上找,不是下载链接失效,就是要我49积分,后来我找到一个好办法用 everything 软件全文查找,结果在不同目录里面找到一堆cudnn64_7.dll,当然它们大小不一,貌似又有点区别我随便挑了一个,复制粘贴到我CUDA101对应的目录:D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin然后再运行代码就成了...原创 2021-05-19 09:53:59 · 578 阅读 · 0 评论 -
os.system(‘rm -f {}‘.format(file_path))
1、os.system('rm -f {}'.format(file_path)) 在wins下跑不通,可将 rm -f 改为 del:file_path = os.path.join(root.replace('/', '\\'), '*_{}.pkl'.format(file_iters[i]))print('remove files:', file_path)os.system('del {}'.format(file_path))原创 2021-05-07 22:56:39 · 1967 阅读 · 0 评论 -
torch.zeros(log_probs.size()).scatter_(1, targets.unsqueeze(1).data.cpu(), 1)报错
复现HOReID代码时遇到的问题,详细报错:Expected object of scalar type Long but got scalar type Int for argument #3 'index'内外网都没有找到解决办法,我搞了一晚上,最后调通了(不知道后续有没有影响,至少当下是可以跑通代码了)改成如下:targets = torch.zeros(log_probs.size()).scatter_(1, (targets.unsqueeze(1).data.cpu()).原创 2021-05-06 21:09:09 · 795 阅读 · 0 评论 -
Colab之kaggle填坑记(非常详实)
第一次在colab上面使用kaggle,关于kaggle.json的授权问题折腾了很久,经验如下:step1. 完成手机绑定登陆kaggle,主页右上角有个人头像,点击进入,点击“Acount”,完成“Phone Verification”,国家选择‘CN’,手机号要加-,如138-1345-1234step2. 获取授权码登陆kaggle,主页右上角有个人头像,点击进入,点击“Acount”,先点击“Expire API Token”,确保将所有过去的Token全部置为过期,然后点击“Cr原创 2021-04-10 11:53:30 · 1933 阅读 · 1 评论 -
TP、FN、TN、TP详解
每次遇到TP、FN、TN、TP都晕头,这一次好好认认真真总结下,大家可以收藏下,随时查看P、N 代表检测到的样本状态,T、F代表检测是否有误,以FP为例,FP表示样本被检测为正样本,但检测是错误,因此该样本实际是负样本,FP是指把负样本错检测成正样本了(这里简写为“实负测正”)1、假阳率:False Positive Rate = 实负测正/ 实负 = FP/ (FP + TN)2、假阴率:False Negative Rate = 实正测负/ 实正 = FN/ (TP+ FN)...原创 2021-03-31 16:51:17 · 7760 阅读 · 0 评论 -
Normalization&Standardization&Regularization
转载自:https://www.cnblogs.com/nzmx123/p/8961527.htmlNormalization:归一化,一般在training之前对数据的操作,消除量纲什么的映射到【0,1】内Standardization:数据正态化,使平均值1方差为0.亦是对数据的处理Regularization:正则化,对LOSS的惩罚项防止过拟合。...转载 2021-03-30 16:31:39 · 143 阅读 · 0 评论 -
讨论:如何理解同构
1、什么是同构?如果判断同构?同构想讲的是一个什么事呢?通俗的说,就是在两个没啥直接关系的图中去找到他们结构上的相同点。这个结构指的是什么呢?就是关系(Relation),到了图中,两个点之间有关系,说得就是它们之间有一条边相连(假设是简单图)。那么,就很好理解什么叫做图同构了,图 G1的全部顶点被映射到图 G2后,这些顶点可能标号变了,但是如果在“旧”的图中有的关系,在“新”图中依然保留,只不过是“位置”变了。你可以想象这样一个场景:1、我们把人与人之间的关系画成一张图,如果两个人是朋友,就在原创 2021-02-23 20:10:16 · 6683 阅读 · 0 评论 -
opencv中IMREAD_GRAYSCALE与COLOR_BGR2GRAY是不同的
参考自:https://blog.csdn.net/zhaoxi_li/article/details/102529160在opencv3.0中,cv::IMREAD_COLOR解析jpg时候,由cv::JpegDecoder解码得到一个RGB图像,然后由icvCvt_RGB2BGR_8u_C3R()函数交换R和B空间,得到BGR格式的彩色图。 cv::IMREAD_GRAYSCALE这个图像由cv::JpegDecoder解码得到一个灰度图,所有的颜色转换和其他预处理或后处理等相关细节都是...转载 2021-01-22 17:31:03 · 3678 阅读 · 0 评论