tensorboard学习—— 解决tensorboard attempted to bind to port 6006,but it was already in use问题的几种方法

本文介绍了解决TensorBoard在尝试绑定默认端口6006时遇到的端口已被占用的问题。提供了两种解决方法:一是通过终端命令kill释放占用端口的进程;二是更改TensorBoard的端口号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tensorboard学习—— 解决tensorboard attempted to bind to port 6006,but it was already in use问题的几种方法

在用tensorboard查看训练生成结果时,指令为
./ 后为自己的路径
遇到如下错误:
在这里插入图片描述字面意思是端口6006被占用中,有如下解决方法:
解决方法一:

搜索网上的参考解决方案是:

在终端输入

lsof -i:6006

这时候在终端会发现:
在这里插入图片描述
使用命令kill-9 3723 (3723来自ubuntu前边的那个数字)
然后再输入之前的命令(亲测好使)

解决方法二:

(插句话,如果你是在windows下运行的,建议使用谷歌浏览器,且版本高些。参考:tensorboard无法打开)

指定一个新的端口来查看

tensorboard --logdir=yourpath/train_dir --port=6008

参考我写的指令,给port指明一个新的端口号来查看,比如端口号:8800

倘若你上网使用的是代理,仍遇到上面报的错误,请先将你的上网代理关闭。

转载自:https://blog.csdn.net/c20081052/article/details/81974847

InputEventReceiver 错误通常发生在Android应用中,当你试图处理输入事件(如点击、触摸等)时,发现InputEventReceiver已经被释放(disposed)。这种情况通常是由于尝试在InputEventReceiver不再有效或者生命周期结束时继续接收输入事件所导致。 要解决这个问题,可以按照以下步骤检查: 1. **检查引用有效性**:确保你在使用InputEventReceiver之前,它并未被设置为null或者已经过期。确认接收器是否还在活动范围内,并且还没有被关闭。 ```java if (inputEventReceiver != null && !inputEventReceiver.isDisposed()) { // 使用接收器 } ``` 2. **正确管理回调**:如果你通过`startListening()`开启了一个监听器,在完成操作后需要调用`stopListening()`来停止接收器,确保及时解除注册。 ```java inputEventReceiver.startListening(yourCallback); // ...其他操作... inputEventReceiver.stopListening(); ``` 3. **处理生命周期管理**:确保在Activity或Fragment等组件的生命周期管理中,正确地处理InputEventReceiver的生命周期,比如在onDestroy()或onStop()方法中清除监听。 4. **避免内存泄露**:检查是否存在循环引用或者其他可能导致InputEventReceiver无法被垃圾回收的情况。 5. **异常捕获并处理**:在可能发生错误的地方添加异常处理,如try-catch块,以便于捕捉并记录错误信息。 如果以上步骤都已检查无误但仍出现问题,可能是由于某些未知原因触发了InputEventReceiver的自动销毁。这时,可以考虑在代码的关键部分打日志跟踪,找出引发异常的具体操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值