Windows 平台编译 Yolo

2022年3月18日 没有评论

在前面的文档中,我提及了在Firefly里编译后,但是无法成功加载权重文件来预测,只好转到 windows 平台上琢磨其使用,因为我有个机器是使用了英伟达的 2080Ti 的显卡,内心还是想验证看看速度到底有多快。

按照网上的说法,从这里把源码下载回来,然后配置 OpenCV和CUDNN。说到这个CUDNN的配置,是个麻烦事,好在以前已经安装了,这次没有做任何变动就可以了。

对于如何配置 OpenCV,可以参考我的另外一个帖子。

然后就可以正常地编译 x86和x64位的了,编译后就可以按照说明,去做预测了。确实速度非常的快,如我前文所述,毫秒级的,还是有钱好的,显卡牛批,节省时间。

在 Github 原文里,还提及了使用另外一种编译方式,就是微软推出的一种新的工具:vcpkg。

这个工具好在哪里呢,它会自动查找依赖项,并且下载了放到项目的目录里,以解决各种缺少配置的问题,看起来下载回来的那些包有点像绿色版的。下载好后,按照说明,运行命令,就可以开始编译了。

在我的2台电脑上都可以正确地编译,然后验证了下,使用和不使用GPU所消耗的时间差异很大。毫秒级的识别和十几秒的识别。

不过再重新编译就失败了,可能是我修改了什么东西出错。先不管了,不管如何,我现在有了可以编译成功的二进制的 dll 了,后面就可以共享给 C++ 和 C# 调用了。我看了下,python 调用还是怪麻烦的,就不考虑了。

在最后,给出一些当初参考的文档:

这里这里,还有这里这里

分类: AI, 日常 标签:

Firefly

2022年3月1日 没有评论

在衣服自己洗前面的文章中的,大家都有看到提及FireFly这个东西,它到底是什么呢?

其实在更久远一点,衣服自己洗用的是香蕉派,其实包括树莓派,它们都是一类性质的东西,低功耗单板电脑。

让我从官司上复制几张图片,让大家看看。

这么多年来,一直稳定地运行着,比香蕉派什么的稳定多了。

分类: 一句话, 日常 标签:

python 保存项目用到的包名生成requirements.txt

2022年2月26日 没有评论

安装:pip install pipreqs

在项目根目录下,打开控制台,输入:

pipreqs ./ –encoding=utf8

加–encoding=utf8为了避免编码错误

分类: Python, 一句话, 日常 标签:

InfluxDB 无法加载配置文件

2022年2月26日 没有评论

这几天在接触 InfluxDB 这个时序数据库,从官网上下载了windows 版本的程序,里面有个 influxdb.conf 文件,如里面的注释所述,可以修改其数据库的保存位置,但是经过修改后发现怎么都无法生效。网上都是通篇一律的复制粘贴。

后来经过反复的摸索,得出正确的步骤:
1、对于 windows 平台,配置文件里的路径必须使用双斜杠 \,看起来 influxd.exe 在解析的时候会有转义方面的影响,有点奇怪。
2、需要使用参数启动, influxd.exe -config influxdb.conf。结合网上的说法,最好是使用一个批处理文件,这样可以同时设置 set HOME=c:\influxdb,貌似有人遇到过程序在运行期间找不到环境变量的问题。

如果有同学经过上面的步骤还是有问题的话,就可能是权限的问题了。我开始自己创建的 data/meta/wal 文件夹,发现没有效果后,就干脆先用默认的配置启动,然后复制程序自动创建的文件夹。经过对比,发现文件夹的权限不完全一样。因为这个拷贝的事情先发生了,也懒得去确认这个这个是不是关键因素了。

分类: 一句话 标签: ,

安装 .Net 6

2022年2月7日 没有评论

在以前 .net core 出来的时候,我没有上车,现在MS又释放了新的 .Net 6,是时候看看具体怎么玩的了。

以前在香蕉派上都是通过 mono-complete 来安装完整的 mono 运行时的,现在就给卸载了。

首先可以通过访问 https://dotnet.microsoft.com/en-us/download/dotnet 来查看最新的版本,以及下载地址。好在MS官网提供了 arm32 的版本。

下载完成后,运行下面的命令:

创建目标文件夹

sudo mkdir /usr/local/dotnet

解压缩文件

sudo tar zxf dotnet-sdk-6.0.101-linux-arm.tar.gz -C /usr/local/dotnet

创建软链接

sudo ln -s /usr/local/dotnet/dotnet /usr/bin/dotnet

增加环境变量

sudo nano /etc/profile

export DOTNET_ROOT=/usr/local/dotnet
export PATH=$PATH:/usr/local/dotnet

验证结果

dotnet --info

是不是很简单,像 golang 的安装方式一样。

分类: 日常 标签: ,

Git commit 的提交约定

2022年1月9日 没有评论

想要使用 bamboo 自动生成 changelog 文件,检索了下发现已经有现成的方式,即大家约定 git commit message 的格式。

<type>(<scope>): <subject>// 空一行<body>// 空一行<footer>

其中,Header 是必需的,body 和 footer 可以省略。任何一个部分建议长度不要太长避免自动换行。

Header 是必需的,只有一行,包括三个字段:type(必需)、scope(可选)和subject(必需)
(1)type
feat:新功能(feature)
fix:修补bug
docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:构建过程或辅助工具的变动

如果type为 feat 和 fix,则该 commit 将肯定出现在 Change log 之中。其它类型(docs、chore、style、refactor、test)可以不用放。

(2)scope
scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

(3)subject
subject是 commit 目的的简短描述,不超过50个字符。以动词开头,使用第一人称现在时,比如change,而不是changed或changes;第一个字母小写;结尾不加句号(.)

Body 部分是对本次 commit 的详细描述,可以分成多行。
Footer 部分只用于两种情况。一:不兼容变动,如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法。二:关闭 Issue,如果当前 commit 针对某个issue,那么可以在 Footer 部分标记关闭这个 issue 。

来源

分类: 日常 标签:

git 仓库强制切换更新

2021年12月24日 没有评论

在本地添加了各种测试代码,或者解决冲突失败的情况下,想要完全放弃本地的任何改动(包括已经提交但未推送的变动),直接从远端获取最新的代码记录,可以采用下面的命令。

简单、暴力、好用。

git fetch –all
git reset –hard origin/master
git pull

分类: 一句话, 日常 标签:

pm2

2021年11月24日 没有评论

最近无意间发现了 PM2 这个工具,它是 node的进程管理工具,可以用来简化node应用的相关任务,例如自动重启、负载均衡等,而且使用也比较简单。

在安装了 nodejs后,只需要 npm install -g pm2 来全局安装PM2即可。

常见命令:
pm2 start PATH
pm2 status
pm2 stop APP_ID

在启动的时候,有一个 -i 参数需要提下,该参数表明启动的实例,可用于负载均衡。如果是传递 0 或者 max,则表示根据机器当前CPU核数来确定实例数目。

分类: 一句话, 日常 标签:

git 删除远程仓库的错误提交

2021年10月8日 没有评论

在使用git提交代码的时候,有时候处于某些原因,希望撤回远程仓库里的记录,例如:
– 代码错误,影响编译或者产生bug
– 测试代码错误提交
– 敏感信息提交
– 内容或者作者信息错误或者不完善

那么对应的方式可以怎么做呢?首先我们可以运行:
git reset --hard HEAD~n
这里的数字n就是你想回滚的提交数,最近的一次的提交就写1,其次就写2,以此类推。运行后,就会提示 HEAD is now at commit xxxx。

再强制推送到远端
git push --force

然后远端的内容就更新了,需要注意的是,如果在你原始的提交后,别人也提交了内容,那么在经过操作后,对方的内容也随之消失了。

分类: 一句话, 日常 标签:

表格文本

2021年9月5日 没有评论

最近要实现一段代码逻辑,里面涉及到了好几个条件。最后整理出一个表格,但是感觉应该把这个表格作为注释放到代码文件里,方便后来的维护人员。

可是找了好久都没有找到这样的工具,后来终于被我无意间给发现了,分享给大家。

https://tableconvert.com/?output=text

分类: 一句话, 日常 标签: