自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 问答 (3)
  • 收藏
  • 关注

原创 YOLO V3学习总结

yolov3学习总结

2022-12-01 14:43:40 199 1

原创 YOLO V2 学习总结

yolov2学习总结

2022-11-23 17:49:42 163

原创 YOLO V1学习总结

yolo系列学习总结

2022-11-23 10:55:27 835

转载 关于读取图片自动旋转的解决方法

近期在做数据增强时,发现部分图片查看时是正常显示的,然而经过PIL读取后,显示或保存的图片是旋转了的,经过查找原因后,发现是图片查看器在处理Exif上存在着差异,解决方法为:https://cloud.tencent.com/developer/article/1523050...

2021-06-30 14:34:58 1455

原创 ncnn填坑记录八:将自己训练的模型打包为APK并部署到安卓端运行

上一篇:ncnn填坑记录七:examples/squeezenet.cpp代码阅读做一个分类任务,模型选取的mobilenetv3,训练好模型,并按前文依次转换为onnx、ncnn后,参考官方https://github.com/nihui/ncnn-android-squeezenet进行修改。一. 在PC端运行ncnn/examples文件夹下:squeezenet.cpp -->mobilenetv3.cpp修改如下:#include "net.h"#include <alg

2021-06-22 18:13:11 2199 6

原创 ncnn填坑记录七:examples/squeezenet.cpp代码阅读

上一篇:ncnn填坑记录六:Android Studio打包APK#include "net.h"#include <algorithm>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <stdio.h>#include <vector>static int detect_squeezenet(const cv::Mat&

2021-06-03 15:30:39 591 2

原创 ncnn填坑记录六:Android Studio打包APK

上一篇:ncnn填坑记录五:在安卓端运行ncnn选择APK>Next第一次需要Create newKey store path选择个地址,密码全填一样方便记,Certificate需要填一项,随便写个即可Next后,选择release,上面修改生成的apk保存地址Signature Versions 签名选择V2finish后右下角提示点击locate即可定位到生成的apk文件此处生成的apk叫com.tencent.mobilenetssdncnn-release.apk,

2021-06-01 17:47:32 592 3

原创 ncnn填坑记录五:在安卓端运行ncnn

上一篇:ncnn填坑记录四:pytorch模型转ncnn一.安装Android Studio下载地址:https://developer.android.google.cn/参考https://blog.csdn.net/qq_33431368/article/details/85009758#t4进行安装,因版本不同,安装界面有一点不同,基本没啥问题。android-studio/bin/中有个studio.sh,启动即可,之后点安卓图标右键锁定到启动器,以后直接点击桌面左面图标即可。在sett

2021-06-01 17:14:38 3078 7

原创 ncnn填坑记录四:pytorch模型转ncnn

上一篇:ncnn填坑记录三:在pc端运行examples以torchvision自带的resnent18为例一.pytorch模型转为onnximport torchimport torchvisionimport torch.onnx# An instance of your modelmodel = torchvision.models.resnet18()# An example input you would normally provide to your model's fo

2021-06-01 15:52:20 2326

原创 ncnn填坑记录三:在pc端运行examples

上一篇:ncnn填坑记录二:安装ncnn一.以squeezenet为例1.ncnn/examples内只有squeezenet的权重文件,故以此为例,打开该文件夹下的CMakeLists.txt,许多博客建议在末尾部分添加如下内容:add_executable(squeezenet squeezenet.cpp) target_link_libraries(squeezenet ncnn ${OpenCV_LIBS}) 可能是以前的版本需要这么改,新版本官方应该修改了,不需要修改,可以将末尾部分

2021-05-31 15:41:16 1163

原创 ncnn填坑记录二:安装ncnn

上一篇:ncnn填坑记录一:安装protobuf、cmake和opencv1.下载ncnn代码github上下载太慢,可换码云下载git clone https://github.com/Tencent/ncnn.git或git clone https://gitee.com/Tencent/ncnn.git2.安装依赖项gitg++cmakeprotocol buffer (protobuf) headers files and protobuf compilervulkan he

2021-05-31 11:38:56 2637 4

原创 ncnn填坑记录一:安装protobuf、cmake和opencv

1.protobuf安装git clone https://gitee.com/arcy/protobuf.git # 网络不好才在码云下载,建议github或git clone https://github.com/protocolbuffers/protobuf.git 安装依赖项:sudo apt-get install autoconf automake libtool curl make g++ unzip libffi-dev -y安装cd protobuf/./autoge

2021-05-31 10:37:49 2140 1

原创 安装caffe报错error This file requires compiler and library support for the ISO C++ 2011 standard

报错error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.找了很多方法都不管用,参考https://www.edoou.com/articles/1

2021-05-20 16:31:37 506

转载 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

使用sudo apt-get install 时出现提示无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。可以换个命令sudo aptitude install ,因为aptitude会自动把所有依赖的库都帮你顺着找到,并下载好。而apt-get下载某个包中它的所有依赖项都必须存在,这就是为什么我们每次执行apt-get的时候都需要先apt-get update的更新软件包的原因。如果提示找不到aptitude,可以先使用sudo apt-get install aptit

2021-05-17 09:22:48 316

原创 mmdetection初步运行

1.安装conda虚拟环境时,按照官方说明一次就正常安装好了;2.需要提前下载模型权重,运行时会自动下载resnet等模型的预训练权重,可以提前下载好后放进对应的隐藏文件夹内;3.运行推理代码:python demo/image_demo.py 'demo/demo.jpg' 'configs/detectors/detectors_cascade_rcnn_r50_1x_coco.py' 'checkpoints/detectors_cascade_rcnn_r50_1x_coco-32a10ba0

2021-04-12 10:59:13 2676 9

原创 numpy ndarray与matrix互相转换及转换时维度的变换

由于需要求数组的逆,而numpy.ndarray不能直接求逆,需要先转换为numpy.matrix类型。ndarray转matrix:x = np.mat(x)matrix转ndarray:x = x.A需要注意的是,matrix 只能表示二维数据,用其他维度的ndarray转换为matrix后,再进行维度的变换。顺便附上矩阵求逆:x = x.T矩阵转置x = x.I...

2021-03-26 11:36:26 5288 2

原创 使用numpy和pandas读取含有中文及字母的csv文件

正常读取会报格式错误p = r'hw1_data/train.csv'f = np.loadtxt(p, dtype=str, delimiter=',')print(f)numpy读取csv文件时,dtype默认为float,有字母时,需要改为str,但是当文件中有中文时,依然报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa4 in position 0: invalid start byte。改变编码格式:f = np.l

2021-01-19 17:37:13 2198 4

原创 初探PaddlePaddle的静态图与动态图

最近学习paddle的分割框架,使用了paddle的动态图,自己实现了一遍,发现和pytorch的结构很相似,再把静态图也实现了遍,果然又和tensorflow相似。下面是mnist的两种实现,顺便把paddle的优化器和学习率调整也学习了,paddle支持动态图和静态图的转换,下次再尝试。静态图:import paddleimport numpy as npimport paddle.fluid as fluidepoch_num = 10BATCH_SIZE = 64train_read

2020-10-26 09:29:04 2330

原创 YOLOv5代码阅读笔记

本来想先总结yolov5的各种知识点,但是看了一位大佬发的博客,瞬间就跪了,链接放上:[深入浅出Yolo系列之Yolov5核心基础知识完整讲解]。(https://blog.csdn.net/nan355655600/article/details/107852353)代码看完一遍后,感觉理解还不够深刻,决定近期再把代码过一遍,顺便写个阅读笔记加深记忆。看代码建议从推理部分开始看。一、detect.py由于以前就是用的v5团队写的pytorch版yolov3,detect.py跟v3的代码基本一样,

2020-10-09 13:52:01 8828 4

原创 百度飞桨AIStudio平台持久化安装环境

每次在AIStudio上重启项目都要在再安装一次环境,这是因为默认的安装位置在重启后还原了,只需在项目下新建个文件夹存放安装环境即可。# 如果需要进行持久化安装, 需要使用持久化路径, 如下方代码示例:# If a persistence installation is required, you need to use the persistence path as the following:!mkdir /home/aistudio/external-libraries!pip install

2020-10-04 11:31:57 3306 1

原创 深度学习中遇到的一些tricks

1. 在推理时使用torch.backends.cudnn.benchmark = true,可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题。一般来讲,应该遵循以下准则:如果网络的输入数据维度或类型上变化不大,设置 torch.backends.cudnn.benchmark = true 可以增加运行效率;如果网络的输入数据在每次 iteration 都变化的话,会导致 cnDNN 每次都会去寻找一遍最优配置,这样反而会降低运行效率

2020-08-04 09:45:47 147

转载 Pytorch在训练过程中常见的问题

1 Input type (CUDAFloatTensor) and weight type (CPUFloatTensor) should be the same仔细看错误信息,CUDA和CPU,输入数据x和模型中的权重值类型不一样,一般来说是因为模型的参数不在GPU中,而输入数据在GPU中,通过添加model.cuda()将模型转移到GPU上以解决这个问题。2 Input type (CUDADoubleTensor) and weight type (CUDAFloatTensor) should

2020-06-15 15:45:08 1910

原创 yolov3,yolov3-spp转onnx再转tensorrt填坑记录

1.官方代码使用python2转的onnx,比如这份代码:https://github.com/Cw-zero/TensorRT_yolo3_module这里有份使用python3转onnx的代码:https://github.com/jkjung-avt/tensorrt_demos2.报错ERROR: ValueError: not enough values to unpack (expected 2, got 1)yolov3.cfg文件使用官方提供的,有两点需注意:一.两层之间至少有1条空线

2020-06-05 16:54:24 4430 11

原创 安装torch2trt 和TensorRT 踩坑记录

以前一直以为pytorch模型转tensorrt的话,需要先转onnx才行,突然发现还有torch2trt这个东东,可以直接转torch模型为tensorrt。安装torch2trttorch2trt下载地址:https://github.com/NVIDIA-AI-IOT/torch2trtreadme上有安装说明,按他说的干就是,安装中出了一个问题,在执行sudo python setu...

2020-05-08 16:43:20 17111 16

原创 Pytorch apex加速

添加链接描述

2020-05-06 10:04:29 433

原创 darknet yolov4 在ubuntu下的编译安装

以前用的yolov3是pytorch版本的,yolov4刚出来,各位大佬的tf和pytorch版本都还没发布,就只有先用daknent的版本来尝哈鲜。Darknet是一个比较小众的深度学习框架,我也不准备学这个框架,直接编译走起。下载github地址:https://github.com/AlexeyAB/darknet,手动下载或者git clone https://github.com/...

2020-04-28 15:48:36 5417 2

原创 解决 ImportError: libcublas.so.10.0: cannot open shared object file: No such file

遇到这个问题整了一上午,按网上说的换了很多个tf版本,然并卵,中间也加了很多骚操作,最后把版本又换回推荐的版本,总算解决了.个人环境是Ubuntu 18.04.2 LTS , python3.6, cuda10.0.130, cudnn:7.4.2, 最后安装的tensorflow版本为tensorflow-gpu==1.13.1中间试了很多方法,具体是哪个方法解决了问题我也不知道了(换了tf...

2019-07-19 11:36:31 1203

转载 准确率(accuracy),精确率(Precision),召回率(Recall)和综合评价指标(F1-Measure )

  自然语言处理(ML),机器学习(NLP),信息检索(IR)等领域,评估(evaluation)是一个必要的工作,而其评价指标往往有如下几点:准确率(accuracy),精确率(Precision),召回率(Recall)和F1-Measure。  本文将简单介绍其中几个概念。中文中这几个评价指标翻译各有不同,所以一般情况下推荐使用...

2018-12-24 17:25:36 424 1

原创 深度学习5:TensorFlow数据保存于恢复

保存import tensorflow as tfimport numpy as npw = tf.Variable([[11,12,13],[22,23,25]],dtype=tf.float32,name=&amp;amp;amp;amp;amp;quot;weights&amp;amp;amp;amp;amp;quot;)b = tf.Variable([[7,8,9]],dtype=tf.float32,name=&amp;amp;amp;amp;amp;quot;

2018-12-22 22:03:28 139

原创 深度学习4:全连接MLP(mnist)

import tensorflow.examples.tutorials.mnist.input_data as input_datamnist = input_data.read_data_sets(&amp;amp;amp;quot;MNIST_data/&amp;amp;amp;quot;,one_hot=True)import numpy as npclass MLPNet: def __init__(self): self...

2018-12-22 21:41:09 608

原创 深度学习3:归一化和去均值化

归一化进行归一化的原因是把各个特征的尺度控制在相同的范围内,这样可以便于找到最优解,不进行归一化时如左图,进行归一化后如右图,可发现能提高收敛效率,省事多了。              一种是最值归一化,比如把最大值归一化成1,最小值归一化成-1;或把最大值归一化成1,最小值归一化成0。适用于本来就分布在有限范围内的数据。另一种是均值方差归一化,一般是把均值归一化成0,方差归一化成1。适用于...

2018-12-22 21:31:46 4952 1

原创 深度学习2:激活函数

激活函数的作用提供非线性能力激活函数的性质1、处处可微分2、增强鲁棒性3、值域是-1到1或者0到1,定义域负无穷到正无穷。定义域在-1到1之间的函数图像梯度很大,而在其他地方梯度很小常见激活函数(1) sigmoid函数            sigmoid 可处理二分类问题          优点:1.Sigmoid函数的输出映射在(0,1)之间,单调连续,输出范围有限,...

2018-12-22 21:04:23 378

转载 一文搞懂交叉熵在机器学习中的使用,透彻理解交叉熵背后的直觉

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/tsyccnh/article/details/79163834 &amp;lt;/div&amp;gt; &amp;lt;div id=&quot;content_views&quot; class=&quot;markdown_views prism-atom-one-dark...

2018-12-22 17:28:23 173

空空如也

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

TA关注的人

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