我想为一个机器学习项目标记文件夹内的图片,标记为“是”或“不是”。
我发现了一个很棒的工具;Pigeon..https://github.com/agermanidis/pigeon
但是在线提供的示例要求用户在脚本中提供所有文件的名称。我还没有找到一种方法可以让脚本指向一个文件夹,而不是包含所有图片名称。
有没有一种方法可以只提供一个文件夹的链接?
from pigeon import annotatefrom IPython.display import display, Imageannotations = annotate( ['assets/img_example1.jpg', 'assets/img_example2.jpg'], options=['cat', 'dog', 'horse'], display_fn=lambda filename: display(Image(filename)))
回答:
一种可能的解决方案是只列出你感兴趣的文件夹中的所有文件。在这种情况下,你只需提供文件夹的路径(绝对路径或相对路径),并使用 os.listdir
来获取该文件夹中的所有文件。
然后我使用 os.path.join
来获取文件路径,并将文件路径列表传递给 annotate
。
from pigeon import annotatefrom IPython.display import display, Imageimport ospath = "assets"imgs = os.listdir(path)imgs = [os.path.join(path, img) for img in imgs]annotations = annotate( imgs, options=['cat', 'dog', 'horse'], display_fn=lambda filename: display(Image(filename)))