自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Make AI,Not War

欢迎一切友好的交流,有问题可以评论或私信。

  • 博客(116)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 训练自己的GPT2

比如,我把全世界所有的网页上的文本内容都整理出来,把全人类所有的书籍、论文都整理出来,然后进行训练。这个训练过程代价很大,首先模型很大,同时数据量又很大,比如GPT3参数量达到了175B,训练数据达到了45TB,训练一次就话费上千万美元。如此大代价学出来的是一个通用知识的模型,他确实很强,但是这样一个模型,可能无法在一些专业性很强的领域上取得比较好的表现,因为他没有针对这个领域的数据进行训练过。训练完成之后,推理的话,直接使用第二节里的代码,将预训练模型路径换成自己训练的模型路径就行了。

2024-01-10 21:05:24 1531 2

原创 pytorch使用GRU等做时序预测的Dataloader如何构建

2022-11-01 11:19:29 1861 1

原创 GAT网络为什么占用那么多的显存

GAT网络费显存的原因

2022-10-28 10:52:25 1675

原创 linux安装atari环境实录

linux安装atari环境实录第一次尝试(失败)1.创建新环境2.cmake配置2.1 安装cmake2.2 安装zlib3.安装gym[atari]遇到的问题1.apt-get2.pip3.numpy版本不对的问题4.python版本不对的问题第二次尝试(成功版)1.创建新环境(python3.7)2.安装配置cmake(第一次已经完成,这里跳过)3.在新环境下安装numpy4.安装gym[atari]5.安装新版atari_py下载成功!!!!!第一次尝试(失败)1.创建新环境命令:conda

2021-12-08 17:43:38 2514

转载 anaconda环境的常见操作

anaconda环境的常见操作1.查看、创建、删除环境2.远程访问jupyter notebook2.1首先新建一个环境(可选)2.2 安装jupyter(可选)2.3 然后生成配置文件:2.4 设置密码2.5 修改配置文件2.6 服务器端启动jupyter3.修改恢复源1.查看、创建、删除环境查看已经建立的环境:conda env list或者conda info --env创建环境:最后添加anaconda可以在创建环境时把ananconda基础的库都安装上。但是需要的时间也更长一点,尤其是网

2021-11-23 14:12:21 289

原创 在github上部署自己的博客

在github上部署自己的博客1.安装以及配置2.写博客1.安装以及配置有一些东西需要提前安装,比如nodejs,git,hexo这些。可以根据这篇博客进行安装: 使用GitHub+Hexo快速搭建自己的技术博客(转载)安装之后可能回遇到一些问题,比如找不到git命令,此时可能是因为没有配置环境变量,百度一下,配置之后重开cmd应该就可以了。在github上开一个github.io的博客,网上资源很多,比如:如何在 GitHub 上写博客?。很多博客都介绍的很详细。要注意的是,博客名字似乎要和用户

2021-10-24 16:58:04 1570

转载 修改setup.py的源

修改setup.py的源方法一:修改文件 ~/.pydistutils.cfg为:[easy_install]index-url=https://pypi.tuna.tsinghua.edu.cn/simple方法二:直接在setup.py的同目录放置一个setup.cfg:[easy_install]index-url=https://pypi.tuna.tsinghua.edu.cn/simple结:加上配置后python setup.py install安装的时候,依赖就会

2021-10-09 14:43:53 597

转载 No matching distribution found for dataclasses==0.8

No matching distribution found for dataclasses==0.8原网址:传送门原因:也就是说python3.7不需要安装dataclasses了。而我的就是在3.7上安装dataclasses报了这个错。

2021-08-13 11:09:34 4213

原创 U-Net训练自己的数据集

U-Net训练自己的数据集1:数据准备1:数据准备标注部分不再介绍。

2021-04-08 10:21:35 9225 14

原创 已知分割数据集图像的多边形边界,绘制其二值化掩膜

已知分割数据集图像的多边形边界,绘制其二值化掩膜1:需求2:思路3:完整代码1:需求对于一些分割网络,需要使用到二值化的掩膜。但是制作的数据集(非公开数据集)的图像的标注是图像里物体的多边形边界。比如:已有的是原图和标注过的边缘(json格式的文件),想要生成下面这种二值化的掩膜。当然,实际的情况是一张图里不止一个物体,可能有几十个。2:思路刚开始我的想法是暴力,遍历每一个像素,之后判断该像素是否在某一个物体的边界内,如果是,就把像素变成白色,如果不是,就变成黑色。但是这种做法十分复杂

2021-04-07 20:20:15 4765 3

原创 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

TypeError: the JSON object must be str, bytes or bytearray, not ‘TextIOWrapper’使用json.loads()时候遇到这个错误解决办法:import jsonwith open(json_dir) as json_file: json_data = json.load(json_file)网上也有说其他方法的,不过我都试了不行,上面的代码才可以解决。...

2021-04-06 23:11:25 197

原创 Yolact训练自己的数据集

Yolact训练自己的数据集1:提前准备好自己的数据集2:下载github存储库3:修改config.py4:训练1:提前准备好自己的数据集使用labelme来制作分割数据集,但是得到的是一个个单独的json文件。需要将其转换成coco。labelme2coco.py如下所示(代码来源:github链接):import osimport jsonimport numpy as npimport globimport shutilfrom sklearn.model_selection im

2021-04-05 14:46:17 7925 24

原创 PytorchStreamReader failed reading zip archive: failed finding central directory

原因:主要还是pytorch版本问题。高版本的torch.save保存模型时,使用的新的格式,而torch.load使用的是旧格式。不知道为啥,我在同一个环境下,先save后load也会出这个错。**解决:**加一个参数...

2021-04-05 14:32:06 21624 6

原创 目标检测、图像分割的专业名词

实例分割的专业名词一:RPN二:ROI三:ROIPool四:ROIAlign五:IoU六:mAP七:FPN一:RPN全称“Region Proposal Network”,即“区域生成网络”,通俗讲是“筛选出可能会有目标的框”。其本质是基于滑窗的无类别object检测器,输入是任意尺度的图像,输出是一系列矩形候选区域。快速理解RPN二:ROI全称Region of Interest,三:ROIPool四:ROIAlign五:IoU六:mAP七:FPN...

2021-03-23 15:19:07 693

原创 【LeetCode刷题】第二期

【LeetCode刷题】第二期一:1431.拥有最多糖果的孩子二:1470.重新排列数组三:1486.数组异或操作三:248.移动0四:566.重塑矩阵一:1431.拥有最多糖果的孩子class Solution: def kidsWithCandies(self, candies: List[int], extraCandies: int) -> List[bool]: maxmium = max(candies) ans = [] fo

2021-01-08 14:05:53 2102

原创 【LeetCode刷题】第一期

【LeetCode刷题】第一期一:1248.统计[优美子数组](中等)二:26.删除排序数组中的重复项(简单)三:1672.最富有客户的资产总量(简单)四:1480.一维数组的动态和(简单)五:1512.好数对的数目一:1248.统计[优美子数组](中等)题目描述:传送门法一:暴力求解思路:把所有子数组列出来,再遍历一遍,看其中满足条件的有几个def is_odd(n): return 1 if n%2 == 1 else 0def odd_num(array): count

2021-01-03 15:28:19 204 3

转载 pandas dataframe 读取csv文件 数据类型转化 字符变成了数字

pandas dataframe 读取csv文件 数据类型转化 字符变成了数字因为csv中包含了大量的股票代码,如果是002开头的股票,比如002111, 使用pd.read_csv(‘text.csv’) 则会让所有的002xxx,变成了2xxx,前面2个0不见了,当然你可以收工操作,填充那2个0。 不过对于pandas大法,何须这么麻烦?直接在参数一栏设置一下即可:df=pd.read_csv('text.csv', dtype={'code':str})这样,把你要转换的列的名字设定好, “

2020-08-22 12:08:23 14049 6

转载 目标检测时出现RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0.

RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0.出错代码case1:每个图象的目标个数不尽相同,原始参数适用case2:图象大小不一样case3:样本数不能整除batch_size(据说)造成这个bug的原因有很多,一般都是在用pytorch读取数据时产生的,下面是几种常见的情况。出错代码dataG = ObjectDataset(image_ids, DIR_TRAIN+'/ima

2020-08-21 14:00:24 2402

原创 np.rot90()

np.rot901.功能2.参数1.功能旋转矩阵,有时用来旋转图像。2.参数import numpy as npnp.rot90(array, k)array:待旋转的矩阵k:旋转角度为90°xk(默认为1)当k为正数时,表示逆时针旋转90度xk,k取负数时,顺时针旋转。...

2020-07-07 21:52:48 3038

原创 cv2.VideoWriter()

cv2.VideoWriter前几个参数最后一个参数,视频的帧宽和帧高前几个参数博客:cv2.VideoWriter()最后一个参数,视频的帧宽和帧高这个可能经常容易写错或者忘记outVideo = cv2.VideoWriter('save_test_video.avi', fourcc, fps, (width, height))最后一个先是宽后是高。但是,你在获取一帧图像的宽和高时,比如:frame.shape它返回的是(高,宽),所以一不小心可能就会出错。...

2020-07-07 19:10:35 2305

原创 使用余弦定理计算反三角函数却报超出定义域

使用math.acos计算反三角函数却报超出定义域1.ERROR2.分析3.解决1.ERROR如上,arccos里面的数应该是[-1, 1],理论上来说,三个点组成的三角形计算的话都应该符合这个条件,即使是三个点跑到一条直线上了。但是,有时候你还会在实际项目中碰到这种情况,那是为什么呢2.分析在实际中,比如视觉方向,一张图像中你检测出的各个点可能在任意一个位置,即便在任意一个位置你的代码也应该能够正常运行。就是因为位置太任意,导致下面的公式计算出来可能不是一个有理数,这样一来,势必在要进行约去或

2020-06-29 09:23:33 1470

原创 cv2.VideoCapture(0)从摄像头获取视频流并处理但是处理速度慢

cv2.VideoCapture从摄像头获取视频流并处理但是处理速度慢在做深度学习视觉相关项目的时候,经常会遇到无法做到实时的情况。比如处理一帧图像要3s,但是摄像头采集的视频里在这3s内,可能已经读了好几十帧(假如fps是20)。那么处理完这一帧之后,下一次cap.read()返回的是第二帧还是第62帧。source:Opencv读取摄像头缓冲区拥塞,有延迟情况下,处理最新帧的方法实际上Opencv的videocapture读取摄像头时,摄像头的每帧数据会全部存入缓冲区,每次cap.read()都是

2020-06-29 08:56:53 5659 1

原创 【fork】openpose检测的多种情况(多人,单人,图像,视频,计算角度)

openpose检测的多种情况1.来源2.使用openpose检测的代码3.各种情况3.1 直接检测多人(图像)3.2 直接检测多人(视频)3.3 检测单人(图像)4.目标检测代码4.1 目标检测4.1.1 主函数内的代码4.1.2 其他直接使用代码文件的代码4.1.3 提取目标代码1.来源openpose检测的部分代码和模型来自一个存储库,具体的连接忘了,日后找到的话补上。另外,单纯的姿态检测的话不需要深度学习框架,只要有opencv即可。如果要单人检测,就需要用到目标检测算法,使用的是yolo,需

2020-06-28 16:46:24 3889 4

转载 虚拟机卡死无法结束进程的解决方案

虚拟机卡死无法结束进程的解决方案1.卡死原因2.解决方案3.其他卡死情况3.1 如果是开机后黑屏的假死现像(这应该就是我误触前的情况)3.2 如果是启动后假死(这个我没试,不知道是否可行)转自:win10结束进程时拒绝访问的处理办法1.卡死原因虚拟机运行时(我是一直打不开,但是已经启动了),点击下面那个位置(启动之后是第二幅图的样子,网上搜的图),就会出现卡死,那个按键是不能点的。2.解决方案在平时的工作中,大家常常会碰到一些进程没有法响应,于是想要结束掉,可是有网友反映说结束进程时拒绝访问了

2020-06-19 10:49:36 24423

转载 【机器学习】生成模型与判别模型详解

生成模型与判别模型1.定义2.通俗解释例1:猫狗分类例2:如何确定一只羊是山羊还是绵羊例3.识别一种语言是哪种语言例4.跟踪问题3.如何选择哪种模型主要来源:[白话解析] 深入浅出最大熵模型1.定义生成模型(Generative Model, GM):先对联合概率P(x,ω)P(x, ω)P(x,ω)建模,然后再求取后验概率模型。判别模型(Discriminative Model, DM):从数据集D中直接估计后验概率模型:P(ω1∣x),P(ω2∣x),...,P(ωN∣x)P(ω_1 | x)

2020-06-13 09:19:58 919

原创 【机器学习】隐马尔可夫模型(HMM)

隐马尔可夫模型(HMM)1.部分参考内容2.引言3.隐马尔可夫模型的定义1.部分参考内容Youtube(无中文字幕)隐马尔可夫模型(HMM)详解2.引言Alice和Bob住的很远,只能通过电话交流。Bob的心情会随天气的好坏而变化,天气sunny的时候,他就happy,天气rainy的说话,他就grumpy。Bob通过电话告诉Alice他很happy,Alice就可以推测Bob那的天气是sunny,反之,也可以推测出rainy。那么,如果问题再稍微复杂一点呢。假如Bob的心情在s

2020-06-11 22:22:40 2368 1

原创 多分类学习

多分类学习1.引言2.OvO3.OvR4.MvM4.1 编码4.2 学习4.3解码1.引言对于神经网络来说,多分类是完全不成问题的。但是对于传统的机器学习方法来说,一些算法可能并不能直接用来进行多分类。比如,基本的逻辑回归只能做二分类。所以,为了让那些仅可以做二分类的算法解决多分类问题,很多方法都被提出了。这其中,主要有OvO,OvR,MvM。2.OvO也就是一对一。即把N分类问题分解成N(N-1)/2个二分类问题,训练出N(N-1)/2个分类器,使用时,将样本同时提交给所有分类器,然后对这些分

2020-06-08 21:41:20 475

原创 12种算法解决MNIST

12种算法解决MNIST1.ML1.1 SVM1.2 DecisionTree1.3 RandomForest1.4 KNearestNeighbors1.5 Adaboost1.6 XGBoost1.7 catboost1.8 lgbm2.DL2.1 使用numpy搭建的四层神经网络2.2 CNN(VGG16)2.3 LSTM2.4 BLS最近突然有一个想法,用尽可能多的算法来做一个任务。最后...

2020-05-06 08:54:52 756

转载 sklearn中SVC和SVR的参数说明

sklearn中SVC和SVR的参数说明SVC官方源码参数解析函数属性SVR官方源码参数解析部分内容参考博客,会有标注SVC转载于:机器学习笔记(3)-sklearn支持向量机SVM–Spytensor官方源码sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma='auto', coef0=0.0, shrinking=True, ...

2020-05-05 11:03:37 18898

转载 SVM与Logistic回归的区别

SVM与Logistic回归的区别1.相同点1.1 都是分类算法1.2 如果不考虑核函数,LR和SVM都是线性分类算法1.3 LR和SVM都是监督学习算法。1.4 LR和SVM都是判别模型.2.不同点2.1 本质上是其loss function不同2.2 支持向量机只考虑局部的边界线附近的点,而逻辑回归考虑全局.2.3 在解决非线性问题时,支持向量机采用核函数的机制,而LR通常不采用核函数的方法2...

2020-05-05 10:29:01 1774

原创 【7】SVM

SVM1.前言2.间隔和支持向量(基本原理)3.对偶问题1.前言在神经网络火之前,SVM是一种很强大很火的算法,只是神经网络火了以后,SVM就逐渐“没落”了,但这并不妨碍它在传统算法里的强大。在很多时候,他也是十分有用的。像fisher和感知器一样,SVM在分类任务中也是要找一个最优的超平面,让这个超平面能够分开不同类别的样本,使总的错误率最小。只是三种算法求最优超平面的方法不一样。最优的超...

2020-04-10 21:12:46 632 1

原创 【1】目标检测简述

目标检测概述1.目标检测的基本任务2.目标检测发展历程简述3.目标检测常用算法简述1.目标检测的基本任务目标检测是计算机视觉的一个基本方向。其基本任务就是从一张图片里找到一些物体,判断这些物体是什么,并且尽可能好的把这个物体用一个矩形框给框起来。其中确定物体是什么就是一个分类任务而对边界框进行确定就需要回归任务如何知道一个矩形框的具体位置呢,要么你知道左上角的顶点坐标,然后还知道矩形...

2020-04-04 09:07:49 251

原创 【5】matplotlib绘制光滑的曲线来拟合散点图

matplotlib绘制光滑的曲线来拟合散点图基本思想1.法11.1.曲线拟合1.2基本思想其实就是找到原来散点图x和y的对应关系,然后通过大量的采样点来拟合来近似曲线。1.法1这个方法网上有很多blog,但是问题是它使用的函数在新版的matplotlib里已经没了(可能换名字了,我也没查)。不过还是转载过来一下。转自:原blog1.1.曲线拟合使用scipy库可以拟合曲线.没拟合的...

2020-04-01 22:58:42 10999 1

原创 pytroch保存和提取网络模型

1.保存整个模型torch.save(net, 'net.pkl')将整个网络保存下来,直接读取就可以使用。保存的pkl文件较大2.读取整个模型net = torch.load('net.pkl')3.只保存网络的参数等另一种保存网络的方法是之保存网络的参数等信息,pkl文件小,读取也快。但是读取的时候需要先搭建网络。torch.save(net.state_dict(), 'net...

2020-03-29 21:17:51 232

原创 python将科学计数法型数字的字符串转化为数字

python将科学计数法型数字的字符串转化为数字前言法一法二(刚开始的笨做法)前言之前由于需要读取一些数据集里的信息,而这些信息是存为txt文件,读取之后是字符串。数据本来全部都是数字。只不过用科学计数法表示的,使用int,float强转会报错。在网上稍微查了一下,也没找到啥好办法。后来,刚好看到一本书,提到了一个函数。转化起来很简单。法一eval('1.23456789e+5')输出:...

2020-03-24 21:02:08 28974 7

原创 【6】集成学习之AdaBoost

AdaBoost1.前言1.前言

2020-03-19 15:50:26 406

原创 【5】集成学习之随机森林

随机森林1.前言2.随机森林2.1 为什么会有随机森林2.2 建立一个随机森林step1:创建一个引导(bootstrapped)数据集step2:使用引导数据集建立决策树step3:重复2.3 怎么使用一个随机森林3.评估随机森林4.怎么确定选择属性的个数5.Warning of Math1.前言本文参考视频:https://www.youtube.com/watch?v=J4Wdy0Wc...

2020-03-19 08:30:38 335

原创 【4】决策树

决策树1.基本流程1.1介绍1.2算法2.划分选择(每个结点如何选特征)2.1 信息增益(ID3算法)2.2例子2.3 增益率(C4.5算法)2.4 基尼指数(CART决策树)3.剪枝处理3.1 预剪枝3.2 后剪枝4.连续和缺失值4.1 例子4.2 缺失值处理4.2 例子5.多变量决策树6.总结1.基本流程1.1介绍决策树算法主要用来解决分类问题,但是也可以用来解决回归问题。如图,下面是...

2020-03-18 08:51:55 627

原创 【3】线性模型

线性模型本节内容:一元线性回归多元线性回归广义线性模型对数几率回归注意:所有的向量默认是列向量虽然建议大家了解计算过程,但是实际应用中计算用的不多,都是使用的现成的工具。可以跳过.什么是线性模型给定由d个属性描述的示例x={x1;x2;x3;…;xd},其中xi是x在第i个属性上的取值。线性模型试图学得一个通过属性得线性组合来进行预测得函数,即:很好理解,线性模型就是...

2020-03-03 22:06:11 304

原创 【2】模型评估与选择

模型评估与选择在机器学习项目中,归根结底是要建立一个模型,能很好的解决我们的问题。比如,图像分类。但是,怎样去衡量一个模型的好坏呢?又怎样在多个模型中选择最好的那一个呢。一般情况下,这个问题也不难理解。比如做一个二分类问题,只要分类的结果正确的越多,当然模型的准确率就越高,有多个模型时,选择正确的最多的那个就好了。(不考虑算法复杂度的情况下)但是,如果问题比较复杂,可能单纯的准确率就无法满足...

2020-03-01 16:24:46 633

100道numpy练习题

文件为github上著名的100道numpy练习题,增加了pdf格式,便于打印和在移动设备上查看。

2019-04-13

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除