rm -rf /home/jovyan/.fiftyone/var/lib/mongo
import fiftyone as fo
from fiftyone import ViewField as F
name = "breast_images1"
data_path = "/home/jovyan/work/obstetrics_images/data/imgs"
labels_path = "/home/jovyan/work/obstetrics_images/data/xmls"
dataset = fo.Dataset.from_dir(
dataset_type=fo.types.VOCDetectionDataset,
data_path=data_path,
labels_path=labels_path,
name=name,
)
# 过滤出文件名包含 'Mindray' 的样本
# filtered_view = dataset.filter_labels("detections", F("filepath").contains("Mindray"))
# 启动FiftyOne应用并打开过滤后的视图
# 排除文件名包含 'GE_VolusonE8' 的样本
# filtered_view = dataset.exclude(F("filepath").contains("GE_VolusonE8"))
# session = fo.launch_app(view=filtered_view)
session = fo.launch_app() # 打开APP
session.dataset = dataset # 添加数据集
session.wait() # 官网给的示例没有这一句,记得加上,不然程序不会等待,在网页中看不到我们要的效果
报错
{“t”:{“$date”:“2024-08-09T02:27:12.771Z”},“s”:“I”, “c”:“CONTROL”, “id”:20697, “ctx”:“-”,“msg”:“Renamed existing log file”,“attr”:{“oldLogPath”:“/home/jovyan/.fiftyone/var/lib/mongo/log/mongo.log”,“newLogPath”:“/home/jovyan/.fiftyone/var/lib/mongo/log/mongo.log.2024-08-09T02-27-12”}}
Subprocess [‘/opt/conda/lib/python3.11/site-packages/fiftyone/db/bin/mongod’, ‘–dbpath’, ‘/home/jovyan/.fiftyone/var/lib/mongo’, ‘–logpath’, ‘/home/jovyan/.fiftyone/var/lib/mongo/log/mongo.log’, ‘–port’, ‘0’, ‘–nounixsocket’] exited with error 100:这个错误信息表明 FiftyOne 的 MongoDB 实例启动失败,通常发生在以下几种情况:
端口冲突: MongoDB 可能尝试使用的端口已被其他进程占用。
文件权限问题: FiftyOne 可能无法在指定的路径下创建或写入日志文件或数据库文件。
数据库文件损坏: MongoDB 数据库文件可能已损坏,导致无法启动。
解决方法
- 删除并重建数据库文件
你可以尝试删除 FiftyOne 的数据库文件,让它重新创建新的文件。注意,这将导致当前的 FiftyOne 数据集配置被重置。
bash
复制代码
rm -rf /home/jovyan/.fiftyone/var/lib/mongo