深度学习加载模型时常用的文件夹的操作

发布时间:2024年01月21日

在训练模型的时候,第一步就要加载模型,常常会涉及很多文件夹的操作,将其归纳整理:

1.检查文件夹是否存在

import os
if os.path.exists(i) is False:
    raise FileNotFoundError(f"file {i} does not exists.")
              

2.路径的拼接

os.path.join(root, x)
import os

#将两个字符合并成一个路径
x='dataset'
root =./
os.path.join(root, x)

3.读取一个路径下所有的文件返回一个列表

 os.listdir(root)

4.将文件名在指定字符出分割

比如实例代码中将文件名'image_path'遇到'_'分割一次,将分割后的结果返回为一个列表

filename = image_path.split('_')[-1][:-len(".jpg")]

5.常用的lambda和map函数

lambda函数和map函数常常结合在一起形成一个小连招,比如在示例代码中,

image_paths = list(map(lambda x: os.path.join(root, x), os.listdir(root)))

5.1? lambda函数是一个没有函数名的函数,常用格式为

name = lambda [list] : 表达式

而map是python内置函数,会根据提供的函数对指定的序列做映射。

map()函数的格式是:

5.2? ?map(function,iterable,...)
将可迭代变量中的值一次带入function进行运算

这一行代码可以理解为

(1)先调用os.listdir(root)读取root路径下所有的文件名,形成一个列表

(2)这里的lambda函数,将x代入os.path.join(root,x)做一个路径的拼接

(3)使用map函数,将(1)中获得的列表中的文件名依次带入lamba函数

也就说这一句话的作用是 读取root路径下所有的文件,转换成列表

文章来源:https://blog.csdn.net/qq_42982824/article/details/135725760
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。