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

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

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路径下所有的文件,转换成列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值