init logger nmpreception_log.txt log file name /asw/nullmax/nmpreception_log.txt.log 2542.375143 s: VX_ZONE_ERROR:[ownContextCreateCmdObj:161] context object descriptor [0] allocation failed 2542.375196 s: VX_ZONE_ERROR:[vxCreateContext:945] context objection creation failed terminate called after throwing an instance of 'char const*' ./run.sh: line 3: 4114 Aborted (core dumped) ./bin/hi_nullmax_fv.out --cfg config/app_multi_cam.cfg
时间: 2024-04-10 11:29:19 浏览: 175
这段日志显示了一些错误和异常信息。根据日志,以下是问题的概述:
1. 在 `ownContextCreateCmdObj` 函数的第161行,发生了一个上下文对象描述符(context object descriptor)的分配失败。
2. 在 `vxCreateContext` 函数的第945行,上下文对象的创建失败。
3. 在运行 `./bin/hi_nullmax_fv.out` 命令时,抛出了一个 `char const*` 类型的异常,并且程序终止。
根据提供的信息,这些错误可能是由于上下文对象的创建和分配失败导致的。你可能需要检查相关的代码和配置文件,确保正确地创建和管理上下文对象。此外,还应该检查是否有其他错误或异常可能导致了程序终止。
请注意,以上只是基于提供的日志信息所能推测出的问题概述,并不能确定具体原因。为了进一步排查和解决问题,可能需要查看更多的日志信息、代码和配置文件,并进行适当的调试。
相关问题
java.lang.NoClassDefFoundError: org/apache/log4j/Logger
java.lang.NoClassDefFoundError: org/apache/log4j/Logger 是一个Java运行时异常,表示在运行时找不到指定的类。具体来说,这个错误通常发生在类加载过程中,当Java虚拟机(JVM)尝试加载某个类时,无法找到该类的定义。
在这个特定的错误中,出现了找不到 org/apache/log4j/Logger 类的情况。这是因为缺少了 log4j 库的相关依赖。log4j 是一个流行的日志记录框架,用于在Java应用程序中进行灵活和可配置的日志记录。
要解决这个问题,你需要确保在你的项目中包含了 log4j 库的相关依赖。你可以通过以下几种方式来解决这个问题:
1. 添加 log4j 依赖:在你的项目的构建文件(如 Maven 的 pom.xml 或 Gradle 的 build.gradle)中添加 log4j 的依赖项。例如,在 Maven 中可以添加以下代码:
```xml
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
```
2. 检查类路径:确保 log4j 的相关 JAR 文件已经正确地包含在你的项目的类路径中。你可以检查你的项目的构建路径或部署路径,确保 log4j 的 JAR 文件存在。
3. 检查类名和包名:确保你在代码中正确地引用了 log4j 的 Logger 类。检查类名和包名的拼写是否正确,并且确保你的代码中正确导入了 log4j 的 Logger 类。
最新版本yolox训练得到的train_log.txt文件,用tensorboard查看total_loss曲线,需要怎么修改yolox/core/trainer.py文件
要查看 YOLOX 最新版本的训练日志的 total_loss 曲线,可以按照以下步骤进行操作:
1. 安装 Tensorboard
如果还没有安装 Tensorboard,可以使用以下命令在终端中安装:
```
pip install tensorboard
```
2. 修改 yolox/core/trainer.py 文件
找到 `train_epoch` 函数,将以下代码:
```python
# log
if self.local_rank == 0:
self.logger.info(
f'Epoch[{self.epoch}/{self.max_epoch}] LR: {self.lr_scheduler.get_lr()[0]:.6f} '
f'Time: {time.time() - st_time:.1f}s Loss: {loss.item():.4f} '
f'reg_loss: {reg_loss.item():.4f} '
f'cls_loss: {cls_loss.item():.4f} '
f'cent_loss: {cent_loss.item():.4f} '
f'total_loss: {total_loss.item():.4f} '
)
```
修改为以下代码:
```python
# log
if self.local_rank == 0:
self.logger.info(
f'Epoch[{self.epoch}/{self.max_epoch}] LR: {self.lr_scheduler.get_lr()[0]:.6f} '
f'Time: {time.time() - st_time:.1f}s Loss: {loss.item():.4f} '
f'reg_loss: {reg_loss.item():.4f} '
f'cls_loss: {cls_loss.item():.4f} '
f'cent_loss: {cent_loss.item():.4f} '
f'total_loss: {total_loss.item():.4f} '
)
writer = self.train_loader.dataset.writer
global_step = self.epoch * len(self.train_loader) + i
writer.add_scalar('Train/total_loss', total_loss.item(), global_step=global_step)
```
这样会在训练过程中将 total_loss 添加到 Tensorboard 的训练日志中。
3. 运行 Tensorboard
在终端中运行以下命令,启动 Tensorboard:
```
tensorboard --logdir /path/to/train_log/
```
其中 `/path/to/train_log/` 是训练日志文件所在的目录。
4. 查看 total_loss 曲线
在浏览器中打开 `http://localhost:6006`,即可查看 Tensorboard,选择 `Scalars` 标签页,选择 `Train/total_loss`,即可查看 total_loss 曲线。
阅读全文