自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VSCODE远程连接服务器没有代码提示C++解决方法

以下两种方法,个人认为与远程C++有关,重装试试https://www.cnblogs.com/gyyyl/p/14485166.html

2021-12-16 13:04:14 3839

原创 CMakeLists的关键

如何查找库的名称?在配置CMakLists上一般要包含库的头文件和库文件,那么如何知道这个库的头文件名称以及库文件名称呢,以OPENCV为例:首先,大概知道find_package()有两种模式,其中一种是在cmake的模块module下进行搜索的,所以一般找到/usr/local/cmake路径下查看有什么模块,这里找到了opencv4,点击进去,找到XXXConfig.cmake,里面就详细说明了相关头文件、库文件变量的名称,如下:然后在cmakelist下配置即可,如下:...

2021-11-10 11:29:28 3278

原创 c++学习记录

输入值写入在char数组中,并实现字符串转换,如int转为字符串,或字符串转为整行、浮点型等。char buffer[256];printf("enter number: ");fgets (buffer, 256, stdin);long long_num = atol(buffer);int int_num = atoi(buffer);return 0;...

2021-10-07 23:23:12 103

原创 urdf机器人在gazebo环境开发

1.编写机器人urdf文件<robot name="myCar"> <link name="base_link"> <visual> <geometry> <box size="0.5 0.2 0.1" /> </geometry> <origin xyz="0.0 0.0 0.0" rpy="0.0

2021-09-27 23:37:39 95

原创 在ubuntu操作系统下vscode快速配置c++,用于测试情形的配置方式

1.tasks.json{ "version": "2.0.0", "tasks": [ { "type": "cppbuild", "label": "C/C++: g++ build active file", "command": "/usr/bin/g++", "args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "o

2021-09-01 15:49:43 119

原创 ros小车项目问题记录

1.strcpy()接口报错,提示 error: ‘strcpy’ was not declared in this scope strcpy(c,s.c_str()); ^~~~~~/home/sae/Desktop/workSpace/9-1/test01/test.cpp:9:5: note: suggested alternative: ‘strtoq’ strcpy(c,s.c_str()); ^~~~~~ strtoq解决方法:方法1:

2021-09-01 12:56:19 190

原创 matlab相关记录

findstr(),用于对字符串查找特定字符的位置,以数组的形式返回,起始位置是1开始计算;字符串的索引exist(),判断该文件是什么类型的:文件夹or文件等;strcmp()字符串的利用方括号([]),可以把一系列数字转为矩阵(数组)的形式,数字以空格或者逗号分隔开,行与行之间用 分号 隔开生成数字序列的方法,起始位置:步伐:终点位置fopen()字符串的拼接(串联):用一个中括号,通过逗号或者空格对指定的字符拼接10.textsan()...

2021-08-17 08:14:15 54

原创 常用的图像数据增强脚本-python

import xml.etree.ElementTree as ETimport pickleimport osfrom os import getcwdimport numpy as npfrom PIL import Imageimport shutilimport matplotlib.pyplot as pltimport imgaug as iafrom imgaug import augmenters as iaaia.seed(1)def read_xml_ann

2021-07-18 17:16:22 491

原创 C++的内存四区

程序运行后的内存四区:代码区、全局区、栈区、堆区

2021-07-18 17:15:48 51

原创 run script

cd ~/catkin_wscatkin_makesource ./devel/setup.bashroscorerosbag play loam_2020-07-18-16-42-52.bag --clock --topic /rslidar_points /camera/right/image_rawrosrun rviz rviz====================配置电脑系统的静态 IP 地址为“192.168.1.102”,子网掩码为“255.255.255.0”source

2021-06-28 17:17:55 203

原创 录制雷达和相机数据启动脚本

配置电脑系统的静态 IP 地址为“192.168.1.102”,子网掩码为“255.255.255.0”source ~/rslidar_ws/devel/setup.bashroslaunch rslidar_pointcloud rs_lidar_16.launch=启动相机=rosrun usb_cam usb_cam_node=autoware=roslaunch runtime_manager runtime_manager.launch=====启动yolov4移植rosrosc

2021-06-28 17:16:56 174

原创 C++的类和对象

C++面向对象的三大特性:封装、继承、多态封装封装:是指把属性和行为写在一个整体,并对属性和行为加以权限控制,用于表现一个事物;类设计的三种访问权限:

2021-04-24 23:04:01 44

原创 C++的函数知识

函数一、 重载函数作用:采用相同的函数名称,提高函数复用性函数满足重载(共存)条件:(1) 相同的作用域;(2)函数名相同;、(3)函数形参的个数、类型、顺序不同// 函数重载void func(){ std::cout<< "func()" <<std::endl;}void func(int &a){ std::cout<< "func(int a)"<< std::endl;}void func(c

2021-04-24 22:26:23 52

原创 C++的const关键字,把数据修改为只读、不可写入的状态

const关键字,把数据修改为只读、不可写入的状态

2021-04-24 21:29:16 282

原创 C++的引用知识总结

引用引用的本质是指针常量,当编译器遇到了引用&符号,自动转换如下语句:int main(){ int a = 10; //发现是引用,自动转换: int * const pt = &a int &b = a; // 发现b是个引用,自动解引用转换: *b = 20 b = 20; //赋值 cout<<"b: "<<b<< endl; return 0;}一、语法格式:数据类型

2021-04-24 21:16:36 42

原创 C++的数组

数组名是个常量,不可以修改,其指向数组的首地址

2021-04-04 23:34:52 40

原创 conda虚拟环境py3运行ROS,No module named ‘rospkg‘

1.conda activate 虚拟环境执行PY3之后报错:Traceback (most recent call last): File "/home/cgp/catkin_ws/src/rbx1/rbx1_nav/nodes/runopencv.py", line 3, in <module> import rospy File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/__init__.py", line

2021-01-30 15:15:17 844

原创 BLU的pytorch-yolov4记录

训练阶段1.划分数据集,把VOCdevkit/VOC2007下的VOC2YOLOV4.py移动到根目录下由于我的数据集是13915张,要留下500张作为测试集,因此设置tv为13415。voc_annotation.py修改classes为person 并执行,根目录生成生成3个2007_test.txt,2007_train.txt,2007_val.txt文件3.修改train_with_tensorboard.py修改anchors_path,classes_path,model_pa

2021-01-26 19:20:37 71

原创 yolov4-pytorch修改的地方记录

1.get_map.py目的:修改pr曲线的文字显示大小位置:945,951, 952 plt.xlabel("Recall", fontsize=16) plt.ylabel("Precision", fontsize=16) #32改为16注意力机制的pytorch-yolov42. eval_voc.py(1)–mode det 参数:生成detetion-result文件夹,该文件夹要手动创建(2) --mode val 参数:生成ou

2021-01-25 20:34:13 173 1

原创 批量矫正图片

import yamlimport cv2import numpy as npimport osimport pickle# ros_yaml_cal# f = open("calibration.yaml",'r',encoding="utf-8")# data = yaml.load(f)# mtx = data["CameraMat"]['data']# dist = data["DistCoeff"]['data']# mtx = np.asarray(data['CameraM

2021-01-10 21:46:10 567

原创 写入读取pickle文件和yaml文件

一、pickle文件1.写入a = {'mtx':mtx, 'dist':dist}with open('./cal_pickle.p','wb') as file: pickle.dump(a, file)pickle文件直接打开是乱码,要用读取的方式打开2.读取file = open("cal_pickle.p", 'rb')parms = pickle.load(file)mtx = parms['mtx']dist = parms['dist']二、yaml文件1.

2021-01-10 21:44:22 183

原创 批量修改文件名和文件名后缀

修改文件名称,后缀不变import osFILE_NAME_DIR = "loam_2020-07-18-16-51-09"#获取目录下文件名清单files = os.listdir(FILE_NAME_DIR)print(files)# 设置工作路径# print(os.getcwd())os.chdir('./' + FILE_NAME_DIR)for filename in files: newname = FILE_NAME_DIR + "-" + filename#.

2021-01-09 21:55:00 60

原创 基于VSCODE的linxu编程

task.json写法{ "version": "2.0.0", "options": { "cwd": "${workspaceFolder}/build" }, "tasks": [ { "type": "shell", "label": "cmake", "command": "cmake", "args": [

2020-12-28 19:34:06 99

原创 1080ti显卡崩了迅速重装

sudo ./NVIDIA-Linux-x86_64-390.59.run -no-x-check -no-nouveau-check -no-opengl-files

2020-12-23 11:37:44 109

原创 try、except、finall

try,except,finallytry…except形式:指定一个或多个异常处理器(异常子句).。当在try子句中没有异常发生时,,异常处理器将不被执行.当在try子句中有异常发生时,首先会执行except搜索异常处理器,它会按顺序搜索直到第一个匹配的处理器找到为止.。如果在except后面找到对应的异常声明,就会处理。如果没有找到,异常就会被临时保存起来,然后去执行finally语句,但如果finally中产生了新的异常或者执行了return或者break语句,那么临时保存的异常将会被丢失,

2020-11-17 11:59:01 132

原创 可视化结果

1.用matplotlib可视化结果总结:调整子图,用fig; 对子图添加内容,对子图的进行绘画、限制轴的刻度范围,用plt,前提要选择子图plt.sca()# 可视化处理fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 8))fig.sca(ax1) # 设置第一个轴是ax1ax1.set_title('source')ax1.imshow(img) # 第一个子图显示原始要预测的图片# # 设置第二个子图为预测的结果,按概率取前3名

2020-11-16 16:52:12 190

原创 迁移学习中使用预训练模型和权重实现特征提取器的方法

Tensorflow框架一、使用tensorflw_hub借助keras api实现将tensorflow_hub中的模块集成到模型的代码中import tensorflow_hub as hubmodel = tf.keras.Sequential( [ hub.KerasLayer( "https://tfhub.dev/google/tf2-preview/inception_v3/feature_vector/2",

2020-11-15 21:45:57 491

原创 tensorflow2.x一个完整的分类任务训练流程

import osimport tensorflow as tfimport globfrom model import AlexNet_v1def make_dataset(image_dir, batch_size): class_dic = dict(zip(os.listdir(image_dir+'/train/'), range(len(os.listdir(image_dir+'/train/'))))) iniv_class_dic = dict(zip(range

2020-10-24 19:07:54 315

原创 tf.train模块

在tensorflow2.x中,tf.train模块有个用于是用来创建检查点及其管理器,记录模型训练状态和恢复在tensorflow1.x中,tf.train模块用于图模式下创建优化器节点

2020-10-24 17:22:28 106

原创 Tensorflow2.x的记录

一、keras与eager执行模式eager执行模式可以仅仅通过组装层就可以定义、训练并评估模型二、Eager模式在tf2.x中,默认执行的是eager模式1.eager模式返回的是tf.Tensorf对象,而静态图模式执行回话后,返回的是Numpy数组对象2.在eager模式中,print返回的tf.Tensor对象与静态图的区别:静态图返回例子的是:...

2020-10-20 21:56:59 298

原创 tf2.x---分类模型训练时,获取训练集和验证集的图片路径列表、标签用于制作dataset

对于一个分类任务,首先要准备好训练集和验证集的文件夹,这两个文件夹存放各种类别的数据图片。在tf2.x中习惯用高性能的输入数据流水线API:tf.data模块的tf.data.Dataset.from_tensor_slices创建dataset;在创建dataset前,要准备好训练集和验证集的图片路径数据和标签数据的序列列表,方法如下:# 训练集图片列表train_image_list = glob.glob(train_dir + '/*/*.jpg')random.shuffle(train

2020-10-19 21:24:06 459

原创 分类模型推理时,生成标签字典用于推理,并写入json文件

# 生成标签字典,{key = "idx': val = 'class_name'},用于推理data_class = [cla for cla in os.listdir(train_dir)]class_num = len(data_class)class_dir = dict(zip(data_class, range(class_num)))invs_class_dir = dict(zip(range(class_num), data_class))# 写入到json文件中json_

2020-10-19 21:10:47 259

原创 使用tensorflow和pytorch自带的数据集

1.TensorflowTensorflow的keras模块提供了一个为我们下载和处理数据的函数from tensorflow.keras.datasets import fashion_mnist(train_x, train_y), (test_x, test_y) = fashion_mnist.load_data()2.Pytorch

2020-10-19 20:33:52 159

原创 tensorflow2.x构建模型

在tf2.x中,构建模型有3种方法:顺序式API,函数式API,子类方法一、顺序式APIdef train_model(num_classes): net = tf.keras.Sequential() net.add(tf.keras.Input(shape=(416,416,3))) net.add(tf.keras.layers.Conv2D(6, kernel_size=5, strides=2, padding='valid', activation=tf.nn.rel

2020-10-19 20:32:45 177

原创 tensorboard的用法

Tensorflow1.x的用法1.tf.summary的作用:tf.summary包包含了很多易用的记录任何数据的方法。tf.summary方法自动将summary加入全局变量集合中,tf.Saver和tf.SummaryWriter可以用它在tensorboard里面记录每一个summary的值Pytorch的用法...

2020-10-17 13:32:02 51

原创 tensorflow1.x学习的代码记录

1.创建最简单的数据流图,并用tensorboard可视化import tensorflow as tf# build the grahpA = tf.constant([[1,2],[2,4]], dtype=tf.float32)x =tf.constant([[0,10],[0, 0.5]])b = tf.constant([1, 2], dtype=tf.float32)y = tf.add(tf.matmul(A, x), b, name='result')writer = tf

2020-10-17 13:31:39 77

原创 Tensorflow1.x关于数据流图的概念

数据流图在tensorflow中图的概念非常重要,是整个框架的基础模块,虽然在2.x中有变化,正确理解图的概念原理有助于解决内部差异带来的问题。在数据流图是一种编程模型,被广泛运用于并行计算中。使用数据流图的好处:1.并行化2.计算优化:自动移除冗余节点3.可移植性:采用一种与语言无关的、可拓展的序列化结构数据的机制存储图4.分布式执行:各节点可以部署在独立的设备和机器上,通过管理各节点之间的通讯保证图的正确执行一、 图结构(tf.Graph)1.获取默认的静态图对象:tf.get_def

2020-10-14 16:12:33 123

原创 读取一个文件夹内的所有txt文件内容,写入到一个新的txt

import globt = glob.glob('./yolov5/inference/output/*txt')# print(t[1].endswith())result = open('comp4_det_test_mosun', 'w')for i in t: with open(i,'r') as f: result.write(f.read())result.close()

2020-10-10 17:45:18 638

原创 Precision和Recall理解

Precision精确率:找得对Recall召回率:找得全

2020-10-10 11:29:16 459

原创 维度变换

一、明确概念1.张量数组在计算机是以一片连续内存地址存储的;2.视图view指的是逻辑形式,是人为自定义的有意义的形式;3.存储指的是数据在计算机的存储顺序位置;4.维度变换,只改变视图view,不改变张量数据在计算机上的物理存储顺序;5.维度是有长度的,如三维的(2,5,6),在第一个维度上的长度为2,第二个维度上的长度为5,第三个维度上的长度为6;二、演示–班级例子1.变换前:一共有4个班级,每个班级5组,每组10人;2.变换后:把四个班级合并成两个班级,就形成了两个班级,每个班级10

2020-09-30 19:44:55 981

空空如也

空空如也

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

TA关注的人

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