Carla 使用神经网络训练自动驾驶车辆---模型搭建及训练

article/2025/9/30 8:35:03

Carla 使用神经网络训练自动驾驶车辆—模型搭建及训练

在这里插入图片描述

上一节已经搭建好了一个carla仿真环境,并且进行了数据采集

现在需要使用采集到的摄像头图片和转角数据进行模型训练

创建dataset类

import numpy as np
import config
from torch.utils.data import Datasetclass TrainDataSet(Dataset):def __init__(self):self.x=np.load(config.DATASET_PATH+"x_train.npy")[:config.TRAIN_DATASET_SIZES]self.y=np.load(config.DATASET_PATH+"y_train.npy")[:config.TRAIN_DATASET_SIZES]def __len__(self):return len(self.x)def __getitem__(self,index):return (self.x[index],self.y[index])class TestDataSet(Dataset):def __init__(self):self.x = np.load(config.DATASET_PATH+'x_train.npy')[config.TRAIN_DATASET_SIZES:]self.y = np.load(config.DATASET_PATH+'y_train.npy')[config.TRAIN_DATASET_SIZES:]def __len__(self):return len(self.x)def __getitem__(self, index):return (self.x[index], self.y[index])

模型部分

import torch 
import torch.nn as nn
from torchsummary import summaryclass Block(nn.Module):def __init__(self, in_channels, out_channels, maxpool=False):super().__init__()self.conv = nn.Conv2d(in_channels, out_channels, 3, 1, 1)self.relu = nn.ReLU()self.maxpool = maxpoolself.max_pool = nn.MaxPool2d(2, 2)def forward(self, x):x = self.conv(x)x = self.relu(x)if self.maxpool:x = self.max_pool(x)return xclass Model(nn.Module):def __init__(self, in_channels=3, out_size=1):super().__init__()self.conv_block = nn.Sequential(Block(in_channels, 16),Block(16, 16, True),Block(16, 32),Block(32, 32, True),Block(32, 64),Block(64, 64, True),Block(64, 128),Block(128, 128, True),Block(128, 128),Block(128, 128, True),)self.fc_block = nn.Sequential(nn.Linear(1536, 100),nn.ReLU(),nn.Linear(100, 20),nn.ReLU(),nn.Linear(20, out_size))def forward(self, x):x = self.conv_block(x)x = x.view(x.size(0), -1)x = self.fc_block(x)return xif __name__ == '__main__':model = Model()summary(model, input_size=(3, 66, 200), device='cpu')data = torch.ones(1, 3, 66, 200)out = model(data)print(out.shape)

训练部分:

import torch
import torch.nn as nn
import keyboard
import matplotlib.pyplot as plt
import config
from torch.utils.data import DataLoader
from dataset import TrainDataSet
from model import Modelclass Trainer:def __init__(self, model, train_dataset, model_state=None):self.model = modelself.model_state = model_stateself.train_dataset = train_datasetself.loss_list = []self.main()def main(self):torch.manual_seed(config.SEED)torch.cuda.manual_seed(config.SEED)model = self.modelloss_list = self.loss_listmodel.to(config.DEVICE)if self.model_state:state = torch.load(self.model_state)model.load_state_dict(state)model.train()dataloader = DataLoader(self.train_dataset, batch_size=config.BATCH_SIZE, shuffle=True)optimizer = torch.optim.Adam(model.parameters(), lr=config.LEARNING_RATE)criterion = nn.MSELoss()for epoch in range(config.NUM_EPOCH):for x, y in dataloader:x, y = x.to(config.DEVICE).float(), y.to(config.DEVICE).float()x = x.reshape(x.size(0), 3, 66, 200)optimizer.zero_grad()out = model(x)loss = criterion(out, y)loss.backward()optimizer.step()loss_list.append(loss.item())self._show_loss(loss_list, '3')print('epoc[%i/%i] loss=%.5f' % (epoch, config.NUM_EPOCH, loss.item()))torch.save(model.state_dict(), config.MODEL_PATH+'model_state.pth')def _show_loss(self, loss_list, key='3'):if keyboard.is_pressed(key):plt.plot(loss_list)plt.ylim(0, 0.1)plt.show()if __name__ == '__main__':# Trainer(Model(), TrainDataSet(), model_state='model_state.pth')Trainer(Model(), TrainDataSet())

这样就会得到神经网络的权重model_state.pth,下一节使用训练好的神经网络在carla环境中进行自动驾驶测试


http://chatgpt.dhexx.cn/article/0i6iOMRb.shtml

相关文章

Carla自动驾驶仿真一:快速安装与运行Carla

文章目录 前言一、Carla运行效果二、Carla运行资源1、官方推荐2、环境配置1)Carla 0.9.14下载2)Python依赖安装 3)运行Demo 三、运行前注意事项 前言 网上有不少的Windows版本的Carla的安装教程,这里简单记录下自己安装过程 一、…

Carla 安装详细教程 —— Ubuntu 20.04 安装 Carla

Carla 安装详细教程 —— Ubuntu 20.04 安装 Carla 简介 自动驾驶算法的调试和效果评测首先要在仿真环境中去做,因此,一个强大、灵活的仿真环境是开发、测试过程中必不可少的要素。我们在查找可用的仿真工具时主要关注以下几个特性: 开源&…

[carla入门教程]-1 安装carla环境

本专栏教程将记录我从安装carla到调用carla的pythonAPI进行车辆操控的全流程,带领大家从安装carla开始,到最终能够熟练使用carla仿真环境进行传感器数据采集和车辆控制. 第一节 carla 仿真环境的安装 准备工作: 在本节教程之前,需要大家安装ubuntu18.04以上的系统,并且安装对…

自动驾驶——Carla 模拟器简介

CARLA基本介绍 CARLA是一个开源的自动驾驶模拟器。它是从头开始构建的,用作模块化和灵活的API,以解决自动驾驶问题中涉及的一系列任务。 CARLA的主要目标之一是帮助自动驾驶研发民主化,它是一种易于用户使用和定制的工具。为此,模…

高通8953调试I2S小记

在调通i2s后,发现设备做蓝牙免提时没有声音。后来发现QUIN通路高通竟然没调试过蓝牙免提,这部分代码都没有!经过一番折腾。总算把驱动搞好了。但在实际过程中老是报如下错误: [ 2018.164783] msm_pcm_routing_prepare: setting i…

高通8953启动流程

本文来自于:[添加链接描述 嵌入式工程师有必要了解芯片启动过程,在分析、调试各种问题时都有可能涉及这方面知识。同时,这部分知识复杂,涉及到芯片内部架构,启动各个阶段软件代码执行顺序,启动模式等等。以常用的MSM89…

高通8953平台串口配置入门

目录 一、 串口概述二、 平台串口介绍三、 Device tree如何配置串口四、 bootloader如何配置串口五、bootloader中串口相关代码六、 kernel中串口驱动文件:七、 调试中遇到的问题八、 串口回环测试九、参考文档 一、 串口概述 RS232、RS422、RS485都是串行数据接口…

windows 10安装sqlyog详细步骤

sqlyog下载链接: 链接: https://pan.baidu.com/s/1D_iRna8V90omfHsKHyeBtg 提取码: bqht 复制这段内容后打开百度网盘手机App,操作更方便哦 1. 下载完以后解压,双击SQLyog-12.0.9-0.x64 2. 如下图,选择Ok 3 . 如图,点…

SQLyog下载与安装

SQLyog卸载与安装 声明SQLyog卸载SQLyog安装一、SQLyog下载二、正式安装SQLyog 课后习题即答案 声明 SQLyog卸载 用360直接卸载 SQLyog安装 一、SQLyog下载 1.百度搜索SQLyog官网并进入。 2.下载,稍等片刻,即在浏览器下载列表中看到下载成功。 …

MySQL下载与安装、mysql服务启动与停止、mysql使用cmd命令行登录、SQLyog下载与安装,sqlyog登录与操作mysql

文章目录 1.MySQL下载与安装1.1 下载地址1.2 打开官网,点击DOWNLOADS1.3 点击 MySQL Community Server1.4 在General Availability(GA) Releases中选择适合的版本 2.配置MySQL8.03.配置MySQL8.0 环境变量4.服务的启动与停止4.1 使用图形界面工具4.1.1 打开windows服…

MySQL连接工具(SQLyog、Navicat)下载安装

目录 ❤ SQLyog 下载 安装 双击下载的文件 选择Chinese后点击OK ​编辑 点击“下一步” 选择“我接受”后点击“下一步” 点击“下一步” 修改安装位置(尽量不要安装在C盘),点击“安装” ​编辑 安装后点击“下一步” 点击“完…

【小白】SQLyog下载安装配置篇全攻略

我是第一次使用 SQLyog 这款对于MySQL数据库的可视化图形管理工具,本篇是我对于SQLyog安装配置的过程和总结,仅供大家参考。 如下: 了解SQLyog: SQLyog 是一个快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理…

python+pycharm+mysql+sqlyog下载安装

目录 工具包详情 Python pycharm mysql sqlyog 工具包详情 工具包包括python安装包,pycharm安装包,mysql安装包,sqlyog安装包及注册码 Python 首先是python安装,较为简单,只需要打开然后选择Add to PATH即可&…

SQLyog——下载2058问题

前言:本文记录了我今天下载和安装SQLyog的过程,主要问题就出在了SQLyog链接这部分——2058号问题。写下来一方面希望我的文章能有所帮助,另一方面记录一下自己的生活。感谢文中链接的作者。 1.先下载安装SQLyog 下载安装SQLyog我看的是这个…

SQLyog(旗舰版)下载

安装导航(以及常见问题的解决方案): https://docs.qq.com/doc/DS0VSV2toQXd0dWtN (如图所示:)

关于SQLyog 下载 无限试用

1: 关于SQLyog下载 获知最新版本: 最新版本的SQLyog可以通过GitHub查看SQLyog Community Edition(社区版)的最新版本号获取。 参阅:https://github.com/webyog/sqlyog-community/wiki/Downloads 获取下载链接: x64链接…

SQLyog的下载与安装

1、下载安装包 SQLyog下载链接 2、安装 2.1、选择语言,默认即可 2.2、下一步即可 2.2、接受协议并下一步 2.3、选择选项 2.4、选定安装目录 2.5、安装完成 3、连接Mysql服务 看到这个界面就连接成功了。

sqlyog

一、SQLYog下载 sqlyog百度云链接(永久有效):百度网盘 请输入提取码 密码:t906 注册码链接:百度网盘 请输入提取码 密码:e35u 二、sqlyog安装 1、将下载好的压缩包进行解压之后点击双击安装程序下拉选择…

SQLyog 下载地址

SQLyog - DownloadSQLyog, free and safe download. SQLyog latest version: Administrate MySQL Databases With Ease Using a Graphical Interface. MySQL is probably the worldhttps://sqlyog.en.softonic.com/

数据库客户端安装(SQLYog)

一、官网下载sqlyog 网址: SQLyog - Download (softonic.com)https://sqlyog.en.softonic.com/ 二、安装 1、双击exe文件 2、选择安装的语言 3、选择I do 的那个选项,再按next 4、选择如下的 5、默认的安装路径 6、更改路径为:D:\softwa…