python中Numpy库的ravel()函数解说及应用

简介: python中Numpy库的ravel()函数解说及应用

python中Numpy库的ravel()函数解说和应用


1.说明


python 中的 ravel() 函数将数组多维度拉成一维数组。


ravel 英文译为散开,解开; flatten 英文译为变平。 两者的区别在于返回拷贝(copy)还是返回视图(view), numpy.ravel() 返回的是视图,会影响原始矩阵;numpy.flatten() 返回的是拷贝,对拷贝所做的修改不会影响原始矩阵。


2.应用


例如归一化图片信息统计

for img_list in [img_list_1440, img_list_576]:
    imgs = np.concatenate(img_list, axis=-1)
    imgs = imgs.astype(np.float32) / 255.
    for i in tqdm(range(3)):
        pixels = imgs[:, :, i, :].ravel()
        means[i] += float(np.mean(pixels))
        stdevs[i] += float(np.std(pixels))
# mean=[0.46157165, 0.46698335, 0.46580717]
# std=[0.28069802, 0.28096266, 0.28323689])

归一化需要的mean和std得到后,即可方便后续使用,例如数据集定义阶段归一化:

# 准备数据集
import paddlex as pdx
from paddlex import transforms as T
train_transforms = T.Compose([
    T.MixupImage(mixup_epoch=-1), 
    T.RandomDistort(),
    T.RandomExpand(im_padding_value=[123.675, 116.28, 103.53]), 
    T.RandomCrop(),
    T.RandomHorizontalFlip(), 
    T.BatchRandomResize(
        target_sizes=[320, 352, 384, 416, 448, 480, 512, 544, 576, 608],
        interp="RANDOM"), 
    T.Normalize(
        mean=[0.46157165, 0.46698335, 0.46580717], std=[0.28069802, 0.28096266, 0.28323689])
])
eval_transforms = T.Compose([
    T.Resize(
        target_size=608, interp="CUBIC"), 
    T.Normalize(
        mean=[0.46157165, 0.46698335, 0.46580717], std=[0.28069802, 0.28096266, 0.28323689])


目录
相关文章
|
14天前
|
XML JSON 数据库
Python的标准库
Python的标准库
132 77
|
27天前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
126 67
|
29天前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
83 4
数据分析的 10 个最佳 Python 库
|
20天前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
44 18
|
12天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
41 8
|
15天前
|
XML JSON 数据库
Python的标准库
Python的标准库
42 11
|
28天前
|
人工智能 API 开发工具
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
吴恩达发布的开源Python库aisuite,提供了一个统一的接口来调用多个大型语言模型(LLM)服务。支持包括OpenAI、Anthropic、Azure等在内的11个模型平台,简化了多模型管理和测试的工作,促进了人工智能技术的应用和发展。
107 1
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
|
15天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
57 8
|
21天前
|
Python
Python中的函数
Python中的函数
34 8
|
23天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
31 4