自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 python系列17:终端运行jupyter notebook

艾玛,真的很神奇啊,使用pip install nbterm进行安装。由于是命令行,没有按钮,所以必须记住快捷键。使用nbterm my_notebook.ipynb可以创建一个新的文本。1. 模式切换首先是模式切换:enter: 进入编辑模式esc: 进入控制模式两者的区别在于当前行的颜色,编辑模式是白色,控制模式是全黑。比如下面是控制模式:下面是编辑模式:2. 控制模式控制模式的快捷键如下:up: select cell above.down: select cell b

2021-05-21 14:17:31 880

原创 深度学习系列19:tensorRT基础

tensorrt官方库:https://github.com/NVIDIA/TensorRT, git clone一下即可1. onnx转tensorRT首先放一张对比图:使用官方的tensorrt包,找到里面的trtexec文件,按照下面的语句执行:trtexec --onnx=onnx-modifier/result.onnx --batch=1 --saveEngine=onnx-modifier/result.trt --workspace=8196即可获得tensorRT的trt模型

2021-05-21 14:06:34 618

原创 C++系列11:openmp多线程编程

我们在系列6里面已经说了多线程(使用std::thread库),然而项目里面竟然还用到了openmp,不得已只能看下。1. 入门介绍openmp是由一系列#paragma指令组成,这些指令控制如何多线程的执行程序。另外,即使编译器不支持omp,程序也也能够正常运行,只是程序不会多线程并行运行。首先要在cmake中添加上openmp,cmake3.9之后内置了openmp,按照下述语句写即可:然后看一个简单例子:2. 语法解释2.1 紧跟foromp中的for指令用于告诉编译器,拆分接下来的

2021-05-16 22:35:03 1514

原创 python系列20:流水线框架pypeln

1. 起因要做如下的任务,每一阶段都是不确定时间的任务,因此需要合理分配gpu和cpu资源,串联成一个pipeline去操作。2. 上手安装pip install pypeln可以使用

2021-05-12 21:34:05 1691 2

原创 python系列18:http请求异步版本

1. 基本方法multiprocessing我们经常需要其多线程去调用服务(比如拉取远程图片、调用远程计算服务),常用的方式无非是使用multiprocessing+requests,例如:from multiprocessing.dummy import Pool as ThreadPoolfrom tqdm import tqdmimport numpy as npimport os,json,requests,base64,structurl = "http://****:19863/te

2021-05-10 10:42:49 598

原创 C++系列10:连接远程服务器

1. 连接dockerdocker需要建立ssh服务,参考这篇:https://blog.csdn.net/maidalun1020/article/details/880446482. 连接远程服务器

2021-05-07 19:58:39 1361 1

原创 深度学习系列14:jetson入门

https://www.pianshen.com/article/5568292316/

2021-05-07 19:45:34 2441 3

原创 音视频系列6:rtsp模拟流、解码

1. 模拟流测试方式:vlc rtsp://localhost:8554/mystream1.1 最简单的方式:rtsp simple server首先起一个界面拉取镜像:docker run --rm -it -e RTSP_PROTOCOLS=tcp -p 8554:8554 -p 1935:1935 aler9/rtsp-simple-server接着打开另一个界面,进行起流:ffmpeg -re -stream_loop -1 -i last_helmet.mp4 -c copy -

2021-05-07 15:54:12 1267 2

原创 C++系列9:使用gtest测试

1. 安装mac上可以简单的使用brew install googletest进行安装。clion中有如下文件因此在CMakeLists中可以简单写成:find_package(GTEST REQUIRED)include_directories(${GTEST_INCLUDE_DIRS})target_link_libraries(untitled ${GTEST_LIBRARIES})当然最好还是别这么搞~2. 断言3. 例子...

2021-05-05 23:25:14 915 1

原创 C++系列8:常用库

1. cmath: 数学计算#include <iostream>#include <cmath>using namespace std; int main (){ // 数字定义 short s = 10; int i = -1000; long l = 100000; float f = 230.47; double d = 200.374; // 数学运算 cout << "sin(d)

2021-05-05 22:52:57 4752 12

原创 C++系列7:回调函数

1. 概念简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。为什么使用回调函数?因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数(一般会给一个h文件进行规定),然后通过指针调用即可。基本步骤:定义回调函数(h文件要写清楚)将函数指针(有两种定义方式,推荐用using)交给调用者,在特定事

2021-05-05 20:16:07 572 1

原创 C++系列6:多线程

多线程是实现并发(双核的真正并行或者单核机器的任务切换都叫并发)的一种手段,多线程并发即多个线程同时执行,一般而言,多线程并发就是把一个任务拆分为多个子任务,然后交由不同线程处理不同子任务,使得这多个子任务同时执行。标准库提供了std::thread类来创建和管理线程,std::future类模板来获取异步操作的结果。1 创建线程首先要引入头文件#include<thread>,C++11中管理线程的函数和类在该头文件中声明,其中包括std::thread类。使用C++线程库启动线程,可

2021-05-05 17:51:50 1042 1

原创 C++系列5:指针和引用

1 【重要】指针声明Bjarne 在他的 The C++ Programming Language 里面给出过一个助记的方法: 把一个声明从右向左读。char * const cp; ( * 读成 pointer to ) //cp is a const pointer to char const char * p; //p is a pointer to const char; char const * p;//同上因为 C++ 里面没有 const* 的运算符,所以 const 只能

2021-05-05 13:43:11 133

原创 C++系列4:数据类型和变量

1. 字符串1.1 古老版本C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。字符串实际上是使用null字符\0终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个RUNOOB字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词RUNOOB的字符数多一个。char site[7] = {‘R’, ‘U’, ‘N’, ‘O’, ‘O’, ‘B’, ‘\0’};依据数组初始化规则,您可以把上面的语句写成以下语句:cha

2021-05-05 13:35:43 180

原创 C++系列3:C++11 STL

首先,c++11之后基本相当于换了一门语言,用cout << __cplusplus << endl;确认,如果出现的头六位数是大于等于201103的,则支持C++11。这里首先讲STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是 C++ 提供的一个基础模板的集合,用于完成诸如输入/输出、数学计算等功能。1. 远古方式这里首先介绍一下传统方法如何建立数组:静态 int array[100]

2021-05-05 10:52:04 1107

原创 C++系列2:CMakeLists步步为营

1 生成可执行文件1.1 基础: add_executablecmakelists的核心只有一个add_executable主函数代码如下:1.2 生成目录: set(ececutable_output_path)注意变化,多了一个bin目录1.3 添加头文件: include “”注意变化,添加了新的cpp和h文件,并且在main中include了h文件。cmakelists文件没有变化。1.4 h文件挪到include文件夹:add_subdirectory在src文件夹下新增

2021-05-04 22:02:14 1056

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除