<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[loovelj的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/loovelj</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; loovelj]]></copyright><item><title><![CDATA[Android 调用OpenCV动态库]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/139246916</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/139246916</guid><author>loovelj</author><pubDate>Mon, 27 May 2024 20:25:07 +0800</pubDate><description><![CDATA[android opencv]]></description><category></category></item><item><title><![CDATA[MacOS 升级14.4.1后vscode无法远程连接]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/137467119</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/137467119</guid><author>loovelj</author><pubDate>Sun, 07 Apr 2024 16:05:20 +0800</pubDate><description><![CDATA[今天上班第一天，开始提示MacOS可以升级，顺手就点击了升级重启，版本显示 14.4.1 (23E224)此时大多数的VSCODE远程服务器无法连接，不管用不用VPN都不可以，报错大致包括如下信息。尝试清空knowhost和远程的vscode-server，都不起作用。就会报错，说无法连接，此时得改为英文且无空格的Host，这时就能连接了。这时如果你的名字是这样，Host 后面是中文或者有空格的。同时今天vscode升级到了1.88。此次MacOS的SSH升级了，此时。]]></description><category></category></item><item><title><![CDATA[关于MNN中图像预处理]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/126748306</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/126748306</guid><author>loovelj</author><pubDate>Wed, 07 Sep 2022 16:24:35 +0800</pubDate><description><![CDATA[MNN工程化中，首先遇到图像预处理，其中要做的是对图像归一化，这里不需要我们自己用代码实现，MNN自动帮我们处理，代码如下，根据。,处理公式是 dst = (img - mean) * normal。]]></description><category></category></item><item><title><![CDATA[cv2_polylines_Expected Ptr＜cv::UMat＞ for argument ‘img]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/126380619</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/126380619</guid><author>loovelj</author><pubDate>Wed, 17 Aug 2022 10:54:55 +0800</pubDate><description><![CDATA[我原来以为是img变换出了问题，发现不画多边形，图像就能存储。发现，这个多边形不能在原图上画，只能在拷贝图像上画。今天画多边形，发现总是报下面这个错，]]></description><category></category></item><item><title><![CDATA[Android 中通过JNI调用OpenCV处理图片1]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/123921487</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/123921487</guid><author>loovelj</author><pubDate>Sat, 02 Apr 2022 15:29:13 +0800</pubDate><description><![CDATA[上篇提过，通过部署好了OpenCV的动态链接库，就是加入include和so文件，不用加入moudle;
android studio使用jni调用opencv库实现图片转换【详细实例】（二）

]]></description><category></category></item><item><title><![CDATA[Android Studio使用OpenCV以及JNI]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/123903394</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/123903394</guid><author>loovelj</author><pubDate>Fri, 01 Apr 2022 17:26:27 +0800</pubDate><description><![CDATA[1、下载OpenCVSDK，
2、导入OpenCV Moudle,同时配置一下gradle,主要是版本要相同
3、导入include头文件以及so文件，gradle中的jinLibs设置，要不说找到两个so文件
 sourceSets {
       main { jniLibs.srcDirs = ['libs']}
   }

#动态方式加载
#include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(/root/app/]]></description><category></category></item><item><title><![CDATA[MNN Ubuntu16部署流程]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/123849527</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/123849527</guid><author>loovelj</author><pubDate>Wed, 30 Mar 2022 20:14:44 +0800</pubDate><description><![CDATA[1、先安装protobuf
2、下载MNN，注意，一定要下载1.2.1及以上的，要不编译会出问题
编译参考 MNN编译方法
生成处libMNN.so动态链接库，可以放在/usr/local/lib下，方便以后使用
3、安装grpc
第一步： 升级git
第二步 ：protobuf 安装
下载protobuf
1.enter the "protobuf/cmake/" dir.
2.mkdir build. protobuf/cmake/build
3.cmake ..
4.make &amp;&amp; m]]></description><category></category></item><item><title><![CDATA[pytorch中的__setattr__和__getattr__属性]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/122346957</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/122346957</guid><author>loovelj</author><pubDate>Thu, 06 Jan 2022 16:26:20 +0800</pubDate><description><![CDATA[最近看检测代码，经常会看到__setattr__和__getattr__这两个魔法属性，主要是对最后检测头的时候使用
我查询了一下：
__setattr__就等于在字典__dict__里面插入key和value
但是，__getattr__是在获取不到key的时候才用到这个，但为什么pytorch可以获取

import torch 
import torch.nn as nn
class Animal(nn.Module):
    def __init__(self,name,age) -&gt; No]]></description><category></category></item><item><title><![CDATA[conda升级python]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/122177100</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/122177100</guid><author>loovelj</author><pubDate>Mon, 27 Dec 2021 17:38:07 +0800</pubDate><description><![CDATA[最近vscode在python3.7的环境下，numpy的有些函数没有提示，所以准备升级一下python内核，查了一下，输入
conda install python=3.8

他就自动升级了

]]></description><category></category></item><item><title><![CDATA[Tmux 登录已经登录中的窗口]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/119636789</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/119636789</guid><author>loovelj</author><pubDate>Thu, 12 Aug 2021 10:31:35 +0800</pubDate><description><![CDATA[使用Tmux 的过程中，经常会遇到一种情况，就是想进去的tmux窗口，在别的电脑上登录过，然后没有退出，这时想登陆进去可以，但是size不一样，就感觉很难受，就像找那种把旧登录的挤下去那种命令，命令很简单，如下所示：
tmux attach -d -t pannel1

这样就能挤下去旧的登录，在这个窗口重新登录

...]]></description><category></category></item><item><title><![CDATA[TensorRT cublasStatus == CUBLAS_STATUS_SUCCESS]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/117162523</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/117162523</guid><author>loovelj</author><pubDate>Sat, 22 May 2021 15:34:04 +0800</pubDate><description><![CDATA[最近部署TensorRT的时候，遇到了这个报错，导致生成的engine文件大小为0，就是空文件
[TensorRT] INTERNAL ERROR: Assertion failed: cublasStatus == CUBLAS_STATUS_SUCCESS
../rtSafe/cublas/cublasLtWrapper.cpp:279
Aborting...
[TensorRT] ERROR: ../rtSafe/cublas/cublasLtWrapper.cpp (279) - Assertion]]></description><category></category></item><item><title><![CDATA[Pytorch 加速读取数据之 prefetch_factor]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/116499411</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/116499411</guid><author>loovelj</author><pubDate>Fri, 07 May 2021 18:24:04 +0800</pubDate><description><![CDATA[最近使用四卡训练图片，发现总有卡的效率突变到0，大致就是在读取以及处理数据了
怎么能加速读取呢？一个方法是用NVIDIA的DALI模块，可以加速，具体可以参考 英伟达DALI加速技巧：让数据预处理速度比原生PyTorch快4倍
主要就是通过并行训练和预处理过程，减少了延迟及训练时间

但是今天我发现一个更简单的方法
就是升级pytorch到1.7以上，目前是1.8.1，最好的1.8.1吧
为什么会这么说呢，因为在dataloader中加入了一个参数 prefetch_factor，这个就是提前加载多少个ba]]></description><category></category></item><item><title><![CDATA[Matplotlib中文显示]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/116064582</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/116064582</guid><author>loovelj</author><pubDate>Fri, 23 Apr 2021 17:53:02 +0800</pubDate><description><![CDATA[最近想用matplotlib显示中文，搜了一大堆，发现还没搞懂，最后参考知乎上 彻底解决Python里matplotlib不显示中文的问题的解决方式，终于解决了。
第一步
先看自己有没有中文字体包，就是那个ttf
# 查询当前系统所有字体
from matplotlib.font_manager import FontManager
import subprocess

mpl_fonts = set(f.name for f in FontManager().ttflist)

print('all fo]]></description><category></category></item><item><title><![CDATA[Numpy 1e-0.1 小数显示问题修改]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/116046140</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/116046140</guid><author>loovelj</author><pubDate>Fri, 23 Apr 2021 10:53:19 +0800</pubDate><description><![CDATA[最近查看tensor输出的时候，只想看到小数后四位，但是由于tensor输出的是float64位的科学技术法，看起来很难受，如下图所示：

1.去掉e显示
由于上图很难看出来区别，所以需要转换一下输出方式，去掉e这种表示，在最上面设置一下
np.set_printoptions(suppress=True)


2.设置四位小数显示
由于小数太多不美观，可以设置只显示4位，代码如下：
np.set_printoptions(precision=4)

效果为：

这样就会美观好多，大家以后可以常用这两项设置]]></description><category></category></item><item><title><![CDATA[MAC  VsCode 跳板机 远程连接服务器]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/112912804</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/112912804</guid><author>loovelj</author><pubDate>Wed, 20 Jan 2021 22:48:24 +0800</pubDate><description><![CDATA[最近一直使用VSCODE远程连接服务器进行开始，毕竟服务器比较多，VSCODE的远程服务开始又很方便，而且加入秘钥以后就等于秒开。但是最近我需要远程登录一台跳板机转的服务器，找了很多技术文档，这里总结一下。
首先参考了这个201117-MacOS上通过VsCode配置跳板机连接服务器
，刚开始没看懂，后面配置大致就了解了
# Jump box with public IP address
Host &lt;HUST&gt;  #跳板机服务器A名称&lt;HUST&gt;
    HostName &lt;x]]></description><category></category></item><item><title><![CDATA[旋转图片及标注lable的实现]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/111758857</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/111758857</guid><author>loovelj</author><pubDate>Sat, 26 Dec 2020 18:57:07 +0800</pubDate><description><![CDATA[旋转图片相关内容背景旋转理论OpenCV操作
背景
1、做带角度的图像数据增强，一般使用rotate函数就可以，不过有时图片部分角就会旋转出去，如果不丢失信息，且补边呢？
2、如果标注的label是一个矩形，如果旋转后，想让label也跟着旋转，怎么计算
旋转理论
旋转图片一般用到了仿射变换，仿射变换的原理可以从几何理解，也可以从极坐标方式理解，具体计算方式就是矩阵相乘

OpenCV操作
OpenCV的方法是cv2.getRotationMatrix2D()方法
matRotate2 = cv2.getR]]></description><category></category></item><item><title><![CDATA[DCNv2 RuntimeError: Error compiling objects for extension]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/110490986</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/110490986</guid><author>loovelj</author><pubDate>Wed, 02 Dec 2020 17:14:53 +0800</pubDate><description><![CDATA[最近使用CenterNet的时候，由于在DLA34中用到了DCN，所以需要编译DCNv2，但是每次都会出问题，最近做一个小结
1、Pytorch版本：1.6
2、DCN选择：https://github.com/lbin/DCNv2，这个链接中针对pytorch不同版本做了相应改变，切换分支即可
git checkout -b  pytorch_1.6  origin/pytorch_1.6

但是编译的时候遇到了报错：
...
/bin/sh: 1: :/usr/local/cuda-10.0/bin/n]]></description><category></category></item><item><title><![CDATA[Pymysql中插入json内容 dict‘ object has no attribute ‘translate‘]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/109247409</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/109247409</guid><author>loovelj</author><pubDate>Fri, 23 Oct 2020 18:03:07 +0800</pubDate><description><![CDATA[最近在使用pymysql插入数据时，会出现以下报错
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'det": 
和
 dict' object has no attribute 'translate'

最后发现是单双引号造成的问题，所以我们应该使用以下方法：
aa = pymysql]]></description><category></category></item><item><title><![CDATA[Pytorch训练总结]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/109080138</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/109080138</guid><author>loovelj</author><pubDate>Wed, 14 Oct 2020 18:56:52 +0800</pubDate><description><![CDATA[Pytorch中有许多需要注意的地方，这里总结一下
1、数据加载
1、要保证输出图片的格式是一致的
train_data=CustomDataset(file_list,transform=transforms.Compose([
                                               transforms.Resize(512),# 要保证数据输入大小一致
                                               transform]]></description><category></category></item><item><title><![CDATA[使用OpenCV和PIL旋转90,180,270效率对比]]></title><link>https://blog.youkuaiyun.com/loovelj/article/details/108852899</link><guid>https://blog.youkuaiyun.com/loovelj/article/details/108852899</guid><author>loovelj</author><pubDate>Mon, 28 Sep 2020 16:54:16 +0800</pubDate><description><![CDATA[最近需要一个批量旋转图像的程序，现在发现的有3种方法，所以就想看看哪个效率高点，所以进行了以下测试。
1、OpenCV使用仿射变换
这个参考了 OpenCV Python – Rotate Image 90, 180, 270 – Example
import cv2
import time
# read image as grey scale
img = cv2.imread('0916_174.jpg')
# get image height, width
(h, w) = img.shape[:2
 ]]></description><category></category></item></channel></rss>