使用Mac进行深度学习时遇到.DS_Store报错解决办法

mac在每个文件夹中都会有一个隐藏文件.DS_Store用来记录一些位置信息。

在我们使用os.listdir(path)时,会获取路径中的所有文件夹名称,因此会把.DS_Store也收纳进来,导致报错因此需要找到获取文件夹名称那一步,使用编译器中的debug功能,看看.DS_Store被存储到了哪里,并删除,下面举一个复现VGG代码时的例子:

f45155b8efbf423a94a03f0407074e6d.png

 此时os.listdir(file_path)执行后,list_class中如下所示(使用的flower数据集,通过打点并且debug功能可以找到如下表示的列表)

['roses','.DS_Store','dandelion','daisy','tulips','sunflowers']

如此时执行将数据集分为训练集和验证集操作,那么只有roses的文件夹可以被成功分为训练集和验证集,for循环执行到'.DS_Store'时将会报错。

解决方法如下:

在for循环调用list_class之前将'.DS_Store'删除(roses在列表中序号为0,那DS_Store序号为1,用del 将list_class中的第一个位置删除,便可以顺利执行)

    使用Mac进行深度学习时遇到.DS_Store报错解决办法_第1张图片

 

如果还仍然报错,在编译器控制台输入ls -a,查看训练集和验证集的文件夹中内是否存在隐藏目录.DS-Store,如果存在,则在相应的文件夹内输入 sudo rm -tf 进行强制删除。

 

你可能感兴趣的:(macos,深度学习,人工智能)