总结归纳2023【10月 - 11月】【收获分享,仅供学习使用】

收获分享,仅供学习使用

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加


记录10月:从10.7-10.31 的主要收获

  1. 学会使用服务器:MobaXterm软件 + pycharm专业版 + 一些常用的指令
  2. 确定了研究的基本流程 + 开题报告创新点 + PPT + 看了至少20篇论文了解基本流程
  3. PPT制作功底 + envi制作立体图,成功做成海报+宣传册
  4. 软件使用:
    (1)arcGIS:裁剪栅格 + 栅格计算器
    (2)envi:根据roi裁剪、 监督分类、PCA
    (3)CC:裁剪、测量
    (4)C++开发:基本环境配置、公司级的插件式开发
  5. Python方面:学会mat与tif格式的互转

记录11月第一周(11.1-11.12)主要收获

1. 理解机器学习分类方法原理(SVM(寻找最佳平面) RF(多决策树) MLE与MPE )

2. 学习使用focal loss 代替 CE loss

3. PS:学会P西服证件照

4. PPT制作以及PPT转入word时使用svg格式

5. 一些深度学习的基本概念

(1)dropout:解决过拟合问题
(2)整个网络的学习过程:反向传播+梯度下降 —— loss+优化器+合适的学习率(一般随数据量增大而适当降低)
(3)CNN:数据输入(预处理:去均值、归一化…) + 卷积(提取特征)+ 激活(非线性映射,避免梯度消失与过拟合 + 池化(下采样、去冗余、扩大感受野) + 全连接(分类器)
(4)隐藏层数、batch大小、训练迭代次数 等超参数
(5)预训练与迁移学习

6. Bert中的position embedding

  • vit中也借鉴了该功能,用于标定位置
  • 例如,对于一个输入序列,可以为每个位置分配一个唯一的位置嵌入向量,如[0.1, 0.2, -0.3, …],然后将这些位置嵌入向量与每个词汇的词嵌入向量相加。这将允许BERT模型在处理输入序列时考虑每个词汇的具体位置,以更好地理解文本的上下文和结构。
  • 位置嵌入是BERT模型的一个关键组成部分,它有助于模型实现双向(bidirectional)的上下文理解,而不仅仅是依赖于从左到右或从右到左的信息传递。这有助于BERT在各种自然语言处理任务中表现出色,包括语言建模、情感分析、命名实体识别等。
  • 由于这里用的是sum而不是concatenate,所以位置嵌入向量和词嵌入向量具有相同的维度

7. Vit的创新之处主要有两个:

  1. 将图形转化成patch,以迎合TE只能输入序列的需要;且模型是对16×16这样的小的patch进行处理而不是处理一整张224×224的图片中的所有像素
  2. 使用位置编码,使用cls字符能够包含其它所有patch的信息
    在这里插入图片描述
    在这里插入图片描述

8. Swin Transformer的创新之处

  • 加入滑动窗口,提高计算效率,同时可以使相邻窗口有效交互,提高全局建模能力
  • 使用位置掩码,解决滑动窗口中不相邻要素交互的问题
  • 同时该网络可以迁移到检测和分割领域,效果甚好

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
创建和使用ROS话题的步骤如下: 1. 创建一个ROS包,如果已经创建了ROS包则跳过此步骤。 ``` $ cd catkin_ws/src $ catkin_create_pkg <package_name> [depend1] [depend2] [depend3] ``` 2. 在包中创建一个msg文件夹,并创建一个.msg文件。 ``` $ cd <package_name> $ mkdir msg $ touch msg/<message_name>.msg ``` 3. 在.msg文件中定义消息类型和字段。 ``` float64 data ``` 4. 在CMakeLists.txt文件中添加以下行: ``` add_message_files( FILES <message_name>.msg ) generate_messages( DEPENDENCIES std_msgs ) ``` 5. 在package.xml文件中添加以下行: ``` <build_depend>message_generation</build_depend> <exec_depend>message_runtime</exec_depend> ``` 6. 在源代码文件中包含消息文件头文件。 ``` #include "<package_name>/<message_name>.h" ``` 7. 创建一个发布器(Publisher)并发布消息。 ``` ros::Publisher pub = nh.advertise<package_name::message_name>("topic_name", queue_size); package_name::message_name msg; msg.data = 0.0; pub.publish(msg); ``` 8. 创建一个订阅器(Subscriber)并接收消息。 ``` void callback(const package_name::message_name::ConstPtr& msg) { ROS_INFO("Received: [%f]", msg->data); } ros::Subscriber sub = nh.subscribe("topic_name", queue_size, callback); ``` 9. 运行ROS节点。 ``` $ roscore $ rosrun <package_name> <node_name> ``` 以上是创建和使用ROS话题的基本步骤。在实际使用中,还需要注意以下几点: - 发布器和订阅器的队列大小queue_size应该根据实际情况设置,以避免消息丢失或延迟。 - 发布器和订阅器的话题名称应该保持一致,否则无法正确通信。 - 在使用自定义消息类型时,需要先编译生成消息头文件,才能在源代码中包含并使用该消息类型。 - 在运行ROS节点之前,需要先启动roscore。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值