- 博客(33)
- 问答 (3)
- 收藏
- 关注
转载 关于读取图片自动旋转的解决方法
近期在做数据增强时,发现部分图片查看时是正常显示的,然而经过PIL读取后,显示或保存的图片是旋转了的,经过查找原因后,发现是图片查看器在处理Exif上存在着差异,解决方法为:https://cloud.tencent.com/developer/article/1523050...
2021-06-30 14:34:58 1634
原创 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 2666 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 710 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 728 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 3564 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 2737
原创 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 1307
原创 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 2981 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 2492 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 580
转载 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
使用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 365
原创 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 2744 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 5628 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 2430 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 2406
原创 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 9109 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 3891 1
原创 深度学习中遇到的一些tricks
1. 在推理时使用torch.backends.cudnn.benchmark = true,可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题。一般来讲,应该遵循以下准则:如果网络的输入数据维度或类型上变化不大,设置 torch.backends.cudnn.benchmark = true 可以增加运行效率;如果网络的输入数据在每次 iteration 都变化的话,会导致 cnDNN 每次都会去寻找一遍最优配置,这样反而会降低运行效率
2020-08-04 09:45:47 189
转载 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 2022
原创 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 4619 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 17783 16
原创 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 5516 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 1269
转载 准确率(accuracy),精确率(Precision),召回率(Recall)和综合评价指标(F1-Measure )
自然语言处理(ML),机器学习(NLP),信息检索(IR)等领域,评估(evaluation)是一个必要的工作,而其评价指标往往有如下几点:准确率(accuracy),精确率(Precision),召回率(Recall)和F1-Measure。 本文将简单介绍其中几个概念。中文中这几个评价指标翻译各有不同,所以一般情况下推荐使用...
2018-12-24 17:25:36 518 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;quot;weights&amp;amp;amp;amp;quot;)b = tf.Variable([[7,8,9]],dtype=tf.float32,name=&amp;amp;amp;amp;quot;
2018-12-22 22:03:28 183
原创 深度学习4:全连接MLP(mnist)
import tensorflow.examples.tutorials.mnist.input_data as input_datamnist = input_data.read_data_sets(&amp;amp;quot;MNIST_data/&amp;amp;quot;,one_hot=True)import numpy as npclass MLPNet: def __init__(self): self...
2018-12-22 21:41:09 646
原创 深度学习3:归一化和去均值化
归一化进行归一化的原因是把各个特征的尺度控制在相同的范围内,这样可以便于找到最优解,不进行归一化时如左图,进行归一化后如右图,可发现能提高收敛效率,省事多了。 一种是最值归一化,比如把最大值归一化成1,最小值归一化成-1;或把最大值归一化成1,最小值归一化成0。适用于本来就分布在有限范围内的数据。另一种是均值方差归一化,一般是把均值归一化成0,方差归一化成1。适用于...
2018-12-22 21:31:46 5264 1
原创 深度学习2:激活函数
激活函数的作用提供非线性能力激活函数的性质1、处处可微分2、增强鲁棒性3、值域是-1到1或者0到1,定义域负无穷到正无穷。定义域在-1到1之间的函数图像梯度很大,而在其他地方梯度很小常见激活函数(1) sigmoid函数 sigmoid 可处理二分类问题 优点:1.Sigmoid函数的输出映射在(0,1)之间,单调连续,输出范围有限,...
2018-12-22 21:04:23 540
转载 一文搞懂交叉熵在机器学习中的使用,透彻理解交叉熵背后的直觉
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/tsyccnh/article/details/79163834 &lt;/div&gt; &lt;div id="content_views" class="markdown_views prism-atom-one-dark...
2018-12-22 17:28:23 195
空空如也
mtcnn检测人脸时把手掌也当成人脸了
2019-03-04
pytorch 的Cross Entropy Loss 输入怎么填?
2019-01-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人