RuntimeError: cuda runtime error: device-side assert trigger

https://www.cnblogs.com/henuliulei/p/13258297.html
是这样的,在跑fasterrcnn的时候,要把原模型21个类别改为自己的类别数目,第一次改过后运行没有报错,第二次再修改就报错了,错误如下
1 block: [0,0,0], thread: [16,0,0] Assertion t >= 0 && t < n_classes failed.
2 RuntimeError: cuda runtime error (59) : device-side assert triggered
网上的主要解决方法如下:

造成这个问题的原因就是在做分类任务时,训练数据中存在超出分类数目的标签。比如我一共设置了8个类,但是训练数据中的标签里出现了9,就会报这个错误。那么问题来了,这里有一个陷阱。训练数据中的标签含0也会报上述错误。这个就非常诡异了。一般我们都从0开始数,但是在pytorch里0以下的类别标签都是要报错的。所以如果类别标签从0开始,要给所有类别标签都加上1。

   但是我查看分析了自己的类别确实从0开始,所以应该不是这个错,经过多次百度Google,终于在一篇博文里面找到我的问题里面的线索。

是这样的第一次跑程序时是16个类别(我少删了4个,没发现)运行后发现多了四个类别,所以我删除这四个类别,但是再次运行就报了上面的错误,原因是我们每次
运行的时候都要把上次运行生成的cache给删除才行,因为我没删除,所以程序认为是16个类别,但是只提供了12个类别。所以报了这个错,删除cache重新运行就没问题了

PyQt5中的QTextEdit是一个用于编辑和显示富文本的小部件。您可以使用它来创建文本编辑器、日志视图、聊天窗口等。 以下是一个简单的示例,演示如何创建一个带有工具栏的QTextEdit: ```python import sys from PyQt5.QtWidgets import QApplication, QTextEdit, QMainWindow, QAction, QFileDialog from PyQt5.QtGui import QIcon class TextEditor(QMainWindow): def __init__(self): super().__init__() # 创建文本编辑器 self.text_edit = QTextEdit(self) self.setCentralWidget(self.text_edit) # 创建文件菜单 file_menu = self.menuBar().addMenu('文件') # 创建打开文件操作 open_file_action = QAction(QIcon('open.png'), '打开', self) open_file_action.setShortcut('Ctrl+O') open_file_action.triggered.connect(self.open_file) file_menu.addAction(open_file_action) # 创建保存文件操作 save_file_action = QAction(QIcon('save.png'), '保存', self) save_file_action.setShortcut('Ctrl+S') save_file_action.triggered.connect(self.save_file) file_menu.addAction(save_file_action) # 创建退出操作 exit_action = QAction(QIcon('exit.png'), '退出', self) exit_action.setShortcut('Ctrl+Q') exit_action.triggered.connect(self.close) file_menu.addAction(exit_action) # 创建工具栏 toolbar = self.addToolBar('工具栏') toolbar.addAction(open_file_action) toolbar.addAction(save_file_action) toolbar.addAction(exit_action) self.setGeometry(100, 100, 800, 600) self.setWindowTitle('文本编辑器') self.show() def open_file(self): file_name, _ = QFileDialog.getOpenFileName(self, '打开文件') if file_name: with open(file_name, 'r') as f: self.text_edit.setText(f.read()) def save_file(self): file_name, _ = QFileDialog.getSaveFileName(self, '保存文件') if file_name: with open(file_name, 'w') as f: f.write(self.text_edit.toPlainText()) if __name__ == '__main__': app = QApplication(sys.argv) editor = TextEditor() sys.exit(app.exec_()) ``` 在这个例子中,我们创建了一个带有工具栏的文本编辑器窗口。工具栏上有三个按钮,分别用于打开、保存和退出。打开和保存操作使用QFileDialog来处理文件选择和读写。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值