
Linux部署
丶Shining
深度学习爱好者,深度学习部署优化。
Github:https://github.com/xxradon;
Mail:wangdong_cn@qq.com
展开
-
Deepin/Ubuntu debian系的Linux下更新nvidia显卡驱动(初次安装也可以选择该方案)
首先去NVIDIA的驱动官网下载对应的显卡驱动。因为我之前就安装了nvidia的闭源驱动,所以不用禁用nouveau,使用开源方案的同学需要先禁用nouveau :sudo gedit /etc/modprobe.d/blacklist-nouveau.confdeepin用的是dde桌面,使用的是dedit,ubuntu用的是gedit,之后使用同样的方法可以更新独显驱动,首先修改配置文件:blacklist nouveauoptions nouveau modeset=0重启后使用下面这原创 2020-07-08 16:52:29 · 5868 阅读 · 0 评论 -
gitlab CI/CD系列之使用 GitLab Runner注册和基本环境配置
这里主要使用的是shell模式简介理解了上面的基本概念之后,有没有觉得少了些什么东西 —— 由谁来执行这些构建任务呢?答案就是 GitLab Runner 了!想问为什么不是 GitLab CI 来运行那些构建任务?一般来说,构建任务都会占用很多的系统资源 (譬如编译代码),而 GitLab CI 又是 GitLab 的一部分,如果由 GitLab CI 来运行构建任务的话,在执行构建任务的时候,GitLab 的性能会大幅下降。GitLab CI 最大的作用是管理各个项目的构建状态,因此,运行构原创 2020-07-03 11:25:08 · 10157 阅读 · 0 评论 -
gitkraken免费版本6.5.1,Linux下载地址
来源:https://www.kaisawind.com/2020/03/04/2020-03-05-git/gitkraken自6.5.3本地库开始收费,所以推荐下载旧版本下载地址收费版本{“version”: “6.5.3”,“url_deb”: “https://release.axocdn.com/linux/GitKraken-v6.5.3.deb”,“url_rpm”: “...转载 2020-03-18 10:54:45 · 10407 阅读 · 3 评论 -
跨平台最好用的Git GUI工具gitkraken
初级使用教程视频版https://www.bilibili.com/video/av66288720/git的视频教程https://www.bilibili.com/video/av29968708/?p=10文字版https://www.ifuntools.cn/git-kraken/git-lfs 额外说明安装:sudo apt-get install git-lfs什...原创 2020-03-12 15:35:23 · 704 阅读 · 0 评论 -
c++ string转char*
如果要将string转换为char*,可以使用string提供的函数c_str() ,或是函数data(),data除了返回字符串内容外,不附加结束符’\0’,而c_str()返回一个以‘\0’结尾的字符数组。const char *c_str();c_str()函数返回一个指向正规C字符串的指针,内容与本string串相同.这是为了与c语言兼容,在c语言中没有string类型,故必...转载 2020-01-15 16:21:50 · 1704 阅读 · 0 评论 -
gcc和g++的区别
看的Linux公社的一篇文章,觉得不错,内容复制过来了。其实在这之前,我一直以为gcc和g++是一个东西,只是有两个不同的名字而已,今天在linux下编译一个c代码时出现了错误才找了一下gcc和g++的区别。先描述一下今天遇到的错误:因为以前写程序的时候,写的都是cpp文件,然后就直接使用g++编译,没出错,也就没有在意过这些问题,今天有一个c文件,但里面包含后STL中的vector语法,想...转载 2019-12-31 09:07:42 · 235 阅读 · 0 评论 -
pytorch推理时将prelu转成relu实现
很多时候,我们的推理框架如,tensorrt,支持relu实现,但是不支持Prelu。此时我发现了该项目https://github.com/PKUZHOU/MTCNN_FaceDetection_TensorRT,其中说道:Considering TensorRT don't support PRelu layer, which is widely used in MTCNN, one so...原创 2019-12-16 13:54:44 · 1862 阅读 · 0 评论 -
Linux平台基于v4l2开发免驱摄像头->输出为Opencv Mat
V4L2简介作者:onesixthree链接:https://www.jianshu.com/p/fd5730e939e7来源:简书Video for Linuxtwo(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是linux操作系统下用于采集图片、视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。可以对uvc免驱...原创 2019-12-10 18:37:10 · 4520 阅读 · 1 评论 -
c++ undefined reference std::__cxx11::basic_string
记录今天遇到的问题:使用c++11 写了一段c++程序,使用gcc 7.3编译。程序引用了非c++11编写的静态库。链接时总是报某个函数找不到 但是使用nm命令查看,符号确实存在。我们百度或者Google可以发现,这个原因来源与GCC的版本问题。因为自gcc 5以后引入了新的ABI,简单点说就是gcc5 重写了string和list,我们使用的库的接口一旦使用这几个类,就容易出现...原创 2019-11-15 16:00:25 · 4465 阅读 · 0 评论 -
docker 容器设置开机自启动和容器守护
设置docker 容器设置开机自启动有两种方法创建容器的时候docker run --name artifactory -d -p 8081:8081 --restart=always -v /jfrog/artifactory:/var/opt/jfrog/artifactory docker.bintray.io/jfrog/artifactory-cpp-ce:latest...原创 2019-10-18 09:59:44 · 812 阅读 · 1 评论 -
JFrog Artifactory CE docker 安装使用记录
JFrog Artifactory CE 支持conan 以及普通二进制c&&c++包管理官网地址:https://www.jfrogchina.com/open-source/1 使用docker 进行环境的搭建测试1.1 安装docker ce此步骤由于我是deepin,参考 deepin安装docker步骤来完成1.2 拉取镜像docker pull docke...原创 2019-10-16 16:38:52 · 1823 阅读 · 0 评论 -
Docker stop停止/remove删除所有container
$ docker ps // 查看所有正在运行容器$ docker stop containerId // containerId 是容器的ID$ docker ps -a // 查看所有容器$ docker ps -a -q // 查看所有容器ID$ docker stop $(docker ps -a -q) // stop停止所有容器$ docker rm $(docker...原创 2019-10-16 13:42:59 · 3797 阅读 · 0 评论 -
C++的日志库spdlog
spdlog是一个开源的、快速的、仅有头文件的C++11 日志库,code地址在 https://github.com/gabime/spdlog 。它提供了向流、标准输出、文件、系统日志、调试器等目标输出日志的能力。它支持的平台包括Windows、Linux、Mac、Android。基本可以完全解决我们后续所有C++项目对于日志系统的需要。spdlog特性:(1)、非常快,性能是它的主要目标...原创 2019-10-12 14:39:46 · 503 阅读 · 0 评论 -
linux 查看程序或者库编译器版本
用readelf xx -p .comment可以查看程序或者库编译器版本。也可以用 objdump -s --section=.comment xx这里写图片描述转载 2019-02-24 16:12:08 · 5410 阅读 · 0 评论 -
TVM系列---2.Compile ONNX Models
本文是使用Relay部署ONNX模型的入门教程。首先,我们必须安装ONNX软件包。一个快速的解决方案是安装protobuf编译器,和pip install onnx --user或者请参考官方网站。 https://github.com/onnx/onnximport onnximport numpy as npimport tvmimport tvm.relay as rela...翻译 2019-08-02 18:01:56 · 1145 阅读 · 0 评论 -
让终端走代理的几种方法
来源:感谢https://blog.fazero.me/2015/09/15/让终端走代理的几种方法/方法1:在终端中直接运行命令export http_proxy=http://proxyAddress:port这个办法的好处是简单直接,并且影响面很小(只对当前终端有效,退出就不行了)。如果你用的是ss代理,在当前终端运行以下命令,那么wget curl 这类网络命令都会经过ss代...转载 2019-07-25 15:09:15 · 1266 阅读 · 0 评论 -
一步一步解读神经网络编译器TVM(一)
转自:https://oldpan.me/archives/the-first-step-towards-tvm-1 深表感谢前言这是一个TVM教程系列,计划从TVM的使用说明,再到TVM的内部源码,为大家大致解析一下TVM的基本工作原理。因为TVM的中文资料比较少,也希望贡献一下自己的力量,如有描述方面的错误,请及时指出。那啥是TVM?《一步一步解读神经网络编译器TVM(一)——一个...转载 2019-08-01 17:49:24 · 4524 阅读 · 0 评论 -
一步一步解读神经网络编译器TVM(二)
来源:https://oldpan.me/archives/the-first-step-towards-tvm-2 深表感谢前言在上一篇文章中<一步一步解读神经网络编译器TVM(一)——一个简单的例子>,我们简单介绍了什么是TVM以及如何利用Relay IR去编译网络权重然后并运行起来。上述文章中的例子很简单,但是实际中我们更需要的是利用TVM去部署我们的应用么,最简单直接的...转载 2019-08-01 18:28:56 · 2242 阅读 · 0 评论 -
NVIDIA TK1高性能模式开启脚本
参考:https://elinux.org/Jetson/Performance#How_to_run_a_command_with_root_privileges_temporarily_or_on_every_bootup首先创建一个performance.sh的脚本,如下:#!/bin/bashecho '0'|sudo tee /sys/devices/system/cpu/c...原创 2019-08-30 10:59:52 · 335 阅读 · 0 评论 -
Deepin 设置脚本或者程序启动
deepin linux下可以很方便的设置程序、脚本开机自启动,具体可以参考如下内容。来源:https://bbs.deepin.org/forum.php?mod=viewthread&tid=169824&extra=一、首先,点击任务栏上的启动器。这种设置已安装的软件自启动关于脚本开机自启这个话题,论坛中也有很多 精彩的讨论 。如果你曾在论坛中看到过相关的帖子应该会知...转载 2019-09-30 15:08:48 · 4161 阅读 · 0 评论 -
笔记本ubuntu,deepin,linux系统共享WIFI
在github上发现神器create_ap,好家伙,看着安装方法好简单。废话不多说,下面上干货:git clone https://github.com/oblique/create_ap.gitcd create_apsudo make install就这样安装好了4.接下来安装依赖库sudo apt-get install util-linux procps hostapd i...原创 2019-09-30 15:19:17 · 1149 阅读 · 0 评论 -
TVM系列---1.开始使用Tensor Expression
Author: Tianqi Chenhttps://docs.tvm.ai/tutorials/tensor_expr_get_started.htmlTensor Expression入门这是TVM中Tensor表达语言的入门教程。TVM使用特定于域的张量表达式来进行有效的内核构造。在本教程中,我们将演示使用张量表达式语言的基本工作流程。from __future__ import ...翻译 2019-08-02 17:52:05 · 2896 阅读 · 0 评论 -
通过容器提交镜像(docker commit)以及推送镜像(docker push)
来源:https://www.cnblogs.com/kevingrace/p/9599988.html查看镜像[root@docker-test1 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEdocker.io/ubuntu ...转载 2019-07-20 00:23:50 · 459 阅读 · 0 评论 -
交叉编译Qt5.10.0编译移植到imx6-Linux-Arm-A9
Linux环境下编译Qt5.7.0我的系统是Ubuntu 16.04编译器是arm-linux-gnueabihf-gcc5.4,在ubuntu16.04中直接安装即可。编译:第一步:下载qt-everywhere-opensource-src-5.7.0.tar.gz,这个Qt官方有。安装arm-linux-gnueabihf-gcc:$ sudo apt install gcc-ar...原创 2019-07-23 22:41:19 · 1806 阅读 · 0 评论 -
Hi3559A 开发总结--使用docker
Hi3559A的芯片资源这里可以清晰看到,CPU部分无非是A73和A53,跑的系统还是linux,architecture都是&amp;amp;amp;amp;amp;amp;amp;amp;quot;aarch64&amp;amp;amp;amp;amp;amp;amp;amp;quot;。所以有了一个想法,就是呢,我使用RK3399的ubuntu系统编译了一个小程序,只有print函数的,生成可执行程序,移植到3559A上运行,一切正常。这个实验证明,3559AV10原创 2019-02-20 15:54:21 · 6082 阅读 · 9 评论 -
TX2 cuda runtime error (7) : too many resources requested for launch ,运行错误解决方法
RuntimeError: cuda runtime error (7) : too many resources requested for launch at /home/nvidia/Downloads/pytorch/aten/src/THCUNN/generic/SpatialUpSamplingBilinear.cu:66Full log:CUDA_ENABLED: True...原创 2019-02-25 19:12:21 · 7451 阅读 · 6 评论 -
用cmake构建基于qt5,opencv,libtorch项目
注意Qt:5.10.1libtorch:pytorch v1.0.1gcc:5.4.0在qtcreator中利用qmake使用v1.0.1正式版的libtorch,编译正常,但是module使用forword函数c10::intrusive_ptr&lt;c10::ivalue::Tuple&gt; results = module-&gt;forward(inputs).toTuple...原创 2019-03-01 13:45:00 · 2421 阅读 · 4 评论 -
Linux删除指定后缀名文件的命令
删除指定后缀名的文件find . -name ‘*.exe’ -type f -print -exec rm -rf {} ;“.” 表示从当前目录开始递归查找-name ‘*.exe’ 根据名称来查找,此命令表示要查找指定路径下以.exe结尾的文件-type f 表示查找的类型为文件-print 输出查找的文件目录名最后是-exec,后边跟着要执行的命令,表示对find出来的...转载 2019-02-23 18:04:33 · 5321 阅读 · 0 评论 -
ssh远程连接docker中的container(未完全整理)
用户密码验证方式登录:1、查看 镜像列表:$ sudo docker images2、开启容器:$ sudo docker container run --privileged --rm -p 8002:3000 -it --ipc=host -v /home:/home -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=:0 balenalib/jet...原创 2019-02-18 16:39:04 · 563 阅读 · 0 评论 -
Deepin 安装 最新版Docker以及nvidia docker
Deepin安装docker首先谈谈Deepin系统的基础深度官方deepin已经集成了docker,不过要想使用最新版本的docker,那可需要费点功夫了。要想使用最新版可以参考官网 debian 安装教程安装,不过由于深度15.4基于 sid 版本开发,通过 $(lsb_release -cs) 获取的版本信息为 unstable,而docker官方源并没提供 sid 这种unstable...原创 2019-02-16 15:30:12 · 1872 阅读 · 1 评论 -
Deepin安装教程
安装教程制作U盘安装盘,优先使用deepin提供工具进行制作:下载地址deepin-boot-maker。支持的系统包括Windows,linux,还有MacOS。其中linux下的安装包,目前官方未提供,可能需要自己编译。如果本身已经是deepin操作系统了,请在应用商店下载安装。如下图:具体安装教程,可可疑参考官方安装教程。2.安装细节其实主要是安装驱动程序,目前对于deepin系...原创 2019-01-22 15:21:21 · 16843 阅读 · 4 评论 -
全linux平台使用Cmake编译Caffe
编译通用版本caffe推荐使用Anaconda(miniconda)编译caffe,因为只有这样,无论你是ubuntu,deepin,centos,甚至是国产红旗系统,都不会出现第三方库版本问题。Anaconda包管理主要是用于解决底层依赖库的问题,包括caffe的第三方库,如果官方有提供的库,例如mxnet,pytorch中的libtorch,甚至都不要自己编译,直接使用anaconda包管理...原创 2019-01-08 16:20:08 · 2037 阅读 · 0 评论 -
通过SSH -q -X来远程打开连接显示图形界面
以下以qtcreator 为例以Ubuntu 16.04.4 LTS为例。安装配置主要分为服务器端和客户端两个方面。一、服务器端配置安装ssh服务 sudo apt-get install openssh-server#(apt-get是ubuntu系统的命令。CentOS系统使用yum -y install openssh-server,下面雷同)2.修改配置文件,实现支...转载 2019-02-20 16:10:59 · 24722 阅读 · 2 评论 -
TX2 CPU kernel-各种不同模式讲解
文章主要来源:https://www.cnblogs.com/happyamyhope/1.TX2简介Jetson TX2是由一个GPU和一个CPU集群组成。CPU集群由双核denver2处理器和四核ARM Cortex-A57组成,通过高性能互连架构连接。拥有6个CPU核心和一个GPU,可以不必自行运行所有性能、功耗来测量最佳的运行状态,因为NVIDIA新的命令行工具Nvpmodel提供5种...转载 2019-02-26 17:05:26 · 3591 阅读 · 0 评论 -
pytorch1.0,1.0.1-- onnx --tensorRT5.0.2.6的upsample_nearest2d BUG
最近英伟达发布了一个开源项目,https://github.com/NVIDIA/retinanet-examples,查看源码我们发现在RetinaNet/model.py 中将将pytorch的pth模型转化为onnx时,代码中有这样一段代码: import torch.onnx.symbolic # Override Upsample's ONNX expo...原创 2019-03-25 19:03:00 · 3420 阅读 · 1 评论 -
TensorRT下FP32转INT8的过程
作者:Tiso-yan来源:优快云原文:https://blog.youkuaiyun.com/qq_32043199/article/details/811193571. 关于TensorRT NVIDIA TensorRT是一种高性能神经网络推理(Inference)引擎,用于在生产环境中部署深度学习应用程序,应用有图像分类、分割和目标检测等,可提供最大的推理吞吐量和效率。TensorRT是...转载 2019-07-12 14:49:15 · 3114 阅读 · 1 评论 -
ONNX-Tensorrt如何注册自己的Op
前言在NVIDIA开源项目中,onnx-tensorrt,版本是v5.0,目前TX2的18.04系统Cuda10,Tensorrt5.0.26目前只支持到这个版本。我们可以看到tensorrt是如何将ONNX的模型转化为tensorrt支持的序列化模型。源码中我们可以看到有4个Op:Split,FancyActivation,InstanceNormalization,ResizeNeares...原创 2019-07-06 17:35:55 · 4065 阅读 · 7 评论 -
Pytorch1.0.1导出ONNX模型
TORCH.ONNXExample: End-to-end AlexNet from PyTorch to Caffe2这是一个简单的脚本,它将torchvision中定义的预训练的AlexNet导出到ONNX中。它运行一轮推理,然后将生成的跟踪模型保存到alexnet.onnx:mport torchimport torchvisiondummy_input = torch.rand...原创 2019-07-15 09:41:55 · 4528 阅读 · 0 评论 -
C++ undefined reference to `vtable for
来源:https://blog.youkuaiyun.com/youngstonep/article/details/48825239项目代码编译时,经常出现类似错误:signleClientReadTest.o: In function ReplayTask::ReplayTask()': /home/ndsl/vdfs/test0922/trunk/build/test/DS/readTest/../....转载 2019-07-10 08:52:42 · 3422 阅读 · 0 评论 -
C++全平台消息队列库
消息队列的核心作用其实很简单,一个或多个线程往一个队列后面堆数据,另外的一个线程从队列前面取数据处理,基本操作也只有两个,一个发,一个收,但是传输的数据格式任意不限。一般的消息队列库可能只支持传基本的数据结构,大型的数据只能使用指针,不方便调试,有损代码的易读性:来源于一个开源项目https://github.com/khuttun/PolyM非常感谢khuttun的无私贡献下面是描述:P...原创 2019-05-16 09:46:19 · 2747 阅读 · 0 评论