使用docker部署支持备份,全docker环境的postgres+confluence环境

本来我已经不想再写什么装个什么软件,配个什么环境的东西了,网上一搜一大堆,跟着搞搞也没什么了,再差就去看看官方的文档,也很容易解决遇到的问题。但这次装confluence既没有了官方的支持(官方文章仅作为一个参考吧),网上找的教程虽然一大堆,但基本也都是复制粘贴的,而且还不太能用,折腾了一个周末才好不容易达到一个比较满意的效果。如果你也遇到这种问题,那算是找对地方了。

阅读全文

在Synology DSM7.0上,找回我们熟悉的gitlab

很早的时候手上买了群晖的918作为家里的nas,平时放一些文档,深度学习的数据,最重要的还充当我个人的开发环境及服务器。在DSM6.X的时代,Synology上有gitlab组件,可以方便的搭建gitlab托管自己代码。虽然网上有很多吐槽他不稳定的,但在6.x上我用的还是一直很稳定,包括备份等做的都很不错。性能反正个人用是足够的。但升级DSM7.0后,gitlab组件就没有了。无奈我又想办法降级回6.x使用,但升级这种大趋势我们是没办法阻挡的,作为个人玩家,还是要想办法找到替代方案,于是我就研究了下DSM6.x的gitlab是怎么做的,发现还是很简单的,只要有docker,我们也可以在DSM7上装回熟悉的gitlab。这个方法可以让你继续使用DSM6.x的gitlab数据库,我们就可以放心大胆的升级到DSM7了。

阅读全文

llvm编译的基本概念和流程

近期跟着《LLVM Cookbook》学习了一下LLVM相关的内容,趁着学完还算熟悉,赶紧写一下笔记和总结,方便以后的回顾。LLVM的全称是Low Level Virtual Machine,名字已经解释了好多内容。作为一个编译器的基础框架,提供了各种工具和编译的基础设施,允许我们自定义前端,实现特定的优化方法,并绑定自己的后端。特别是MLIR和IREE的发布,加上当下芯片行业越来越热,LLVM在社区和产业界的影响力也随之扩大,了解和学习LLVM还是很有必要的。

阅读全文

python多线程编程

多线程编程, 找到了一个非常简洁又有效的网站,本来这个事情简单说一下就可以知道了,找了好多介绍发现都会讲一大堆。。终于在这里找到了想要的东西,这里安利一波:https://segmentfault.com/a/1190000016330017

阅读全文

libtorch c++ api上手指南

前段时间为了测试,了解过libtorch,里面有些坑,这里简要记一下。

libtorch包的选择

下载libtorch的地方会有两种包。。看名字完全不知道要怎么选,测了一把,应该是按照下面逻辑去选。后面再来补充原因。

阅读全文

yolov3实战指南--训练自有数据集并完成TensorRT推理实践

就在写这篇文章的时候,yolo作者Joseph Redmon宣布停止CV研究,很可能yolov3将成为yolo系列的终局。想到这个感觉还是要好好写一下yolo啊。本来只想写一篇来介绍一下yolov3并记录下我是如何用到自己数据集上,写完后发现篇幅很长,遂拆成两部分。

此篇为目的是要记录如何使用自己的数据集训练yolov3模型,并最终得到能够上线的检测模型。这里训练不是学术目的,而是面向生产环境。理论篇见http://blog.throneclay.top/2020/02/19/yolo-learning/

阅读全文

yolov3论文详解--我们究竟在训练什么

就在写这篇文章的时候,yolo作者Joseph Redmon宣布停止CV研究,很可能yolov3将成为yolo系列的终局。想到这个感觉还是要好好写一下yolo啊。本来只想写一篇来介绍一下yolov3并记录下我是如何用到自己数据集上,写完后发现篇幅很长,遂拆成两部分。

此篇为理论部分,实战部分见http://blog.throneclay.top/2020/03/05/yolo-learning2/

阅读全文

mosquitto+protobuf实战

因为前段时间急需一个能够搞定通信问题,所以调研了一下,找到了mosquitto适配后效果非常好,但他的例子比较少,我写了一个简单的示例,通信采用了mqtt协议,mosquitto搭建的服务器,通信的内容采用了protobuf进行序列化和反序列化,基本能够应付常见的各类情况。

mqtt是一种轻量级的通信协议,基于服务器和客户端,能够订阅和发布消息。网上的介绍非常多,mqtt能够很好的胜任信息通信任务,支持的平台也非常广泛。mqtt功能强大,占资源少,特别适合在车上进行一些通信和数据的传输。利用protobuf对数据进行封装,既能很好的完成编解码,又能广泛支持不同设备。网上的教程其实很多,但都没有示例代码,这里顺便写了个小的example,能方便学习和开发。

阅读全文

你好小助手,帮我买瓶酱油--gitlab-runner搭建小记

人手还是不够啊,好多活都有积攒,随着开发的不断进行,越来越感觉要加上CI的流程了,至少稍微规范一下自己的开发,在这个人比机器贵的时代,能让机器干的事就还是让机器去干吧。

目的很简单,其实就是想稍微控制下代码质量,一旦出问题,能方便查找问题,而且对版本也做一下控制和管理。然后我还懒,只想自动化完成。这里给出最简单的例子,能够迅速让你从0到1。

阅读全文

ffmpeg几种场景下的用法小记

作为老牌的集编解码等于一体的视频库,ffmpeg功能十分强大,而且ffmpeg被编译到了多种设备上面,几乎各个平台都能看到他的身影。虽然功能强大,但强大的背后带来的就是复杂的命令和选项。实际的视频场景没有那么多,而且相对比较固定,这里记录了几种用到的ffmpeg的使用方法,如果有类似需求,改一下就可以用啦。

阅读全文

SNAS论文阅读笔记

从Google第一篇AutoDL的论文开始,在这方面的论文层出不穷,目测已经成为一个很活跃的研究方向,从一开始上千块TPU发展到现在一天内就能搜到SOTA的结果。NAS已经火了有段时间了,近期才有时间系统的看一下AutoDL相关的内容,SNAS是我最近看的一篇论文,这里做下简单的整理和总结,主要也是为自己留下一份知识储备,方便以后快速回顾。

阅读全文

找到kernel性能分界线的尝试

实现一个大而美的kernel往往是不现实的,在各种硬件上针对特定case下的kernel很容易能够突破针对通用case实现的kernel,所以实现的kernel在某些case下表现好,某些case下表现的就不是那么好,如何快速正确的找到各个kernel的性能曲线,既能更好的了解这个kernel的优势和不足,也能为后续kernel选择重要的参考。这里的这篇就是针对kernel选择而做的一个尝试。

阅读全文