Python-np.expand_dims()

这篇具有很好参考价值的文章主要介绍了Python-np.expand_dims()。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. np.expand_dims

用于扩展数组的维度

执行程序后注意观察中括号[ ]的位置和数量

np.expand_dims(a, axis=0)表示在axis=0维度处扩展维度,加一层中括号[ ];

np.expand_dims(a, axis=1)表示在axis=1维度处扩展维度,加一层中括号[ ];

np.expand_dims(a, axis=2)表示在axis=2维度处扩展维度,加一层中括号[ ];

np.expand_dims(a, axis=-1)表示在axis=-1(最后)维度处扩展维度,加一层中括号[ ];

(py3.6) E:\PYTHON>ipython
Python 3.6.13 |Anaconda, Inc.| (default, Mar 16 2021, 11:37:27) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.16.3 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import numpy as np

In [2]: a = np.array([[1, 2, 3],[4, 5, 6]])

In [3]: a
Out[3]:
array([[1, 2, 3],
       [4, 5, 6]])

In [4]: a.shape
Out[4]: (2, 3)

1.1 axis=0

In [5]: b = np.expand_dims(a, axis=0)

In [6]: b
Out[6]:
array([[[1, 2, 3],
        [4, 5, 6]]])

In [7]: b.shape
Out[7]: (1, 2, 3)

1.2 axis=1

In [8]: c = np.expand_dims(a, axis=1)

In [9]: c
Out[9]:
array([[[1, 2, 3]],

       [[4, 5, 6]]])

In [10]: c.shape
Out[10]: (2, 1, 3)

1.3 axis=2

In [11]: d = np.expand_dims(a, axis=2)

In [12]: d
Out[12]:
array([[[1],
        [2],
        [3]],

       [[4],
        [5],
        [6]]])

In [13]: d.shape
Out[13]: (2, 3, 1)

1.4 axis=-1 

In [14]: e = np.expand_dims(a, axis=-1)

In [15]: e
Out[15]:
array([[[1],
        [2],
        [3]],

       [[4],
        [5],
        [6]]])
In [16]: e.shape
Out[16]: (2, 3, 1)

1.5 axis=3

In [17]: f = np.expand_dims(a, axis=3)
---------------------------------------------------------------------------
AxisError                                 Traceback (most recent call last)
<ipython-input-16-d7316647942f> in <module>
----> 1 f = np.expand_dims(a, axis=3)

<__array_function__ internals> in expand_dims(*args, **kwargs)

D:\RuanJianAnZhunangWeiZhi\anaconda\anaconda3\envs\py3.6\lib\site-packages\numpy\lib\shape_base.py in expand_dims(a, axis)
    595
    596     out_ndim = len(axis) + a.ndim
--> 597     axis = normalize_axis_tuple(axis, out_ndim)
    598
    599     shape_it = iter(a.shape)

D:\RuanJianAnZhunangWeiZhi\anaconda\anaconda3\envs\py3.6\lib\site-packages\numpy\core\numeric.py in normalize_axis_tuple(axis, ndim, argname, allow_duplicate)
   1325             pass
   1326     # Going via an iterator directly is slower than via list comprehension.
-> 1327     axis = tuple([normalize_axis_index(ax, ndim, argname) for ax in axis])
   1328     if not allow_duplicate and len(set(axis)) != len(axis):
   1329         if argname:

D:\RuanJianAnZhunangWeiZhi\anaconda\anaconda3\envs\py3.6\lib\site-packages\numpy\core\numeric.py in <listcomp>(.0)
   1325             pass
   1326     # Going via an iterator directly is slower than via list comprehension.
-> 1327     axis = tuple([normalize_axis_index(ax, ndim, argname) for ax in axis])
   1328     if not allow_duplicate and len(set(axis)) != len(axis):
   1329         if argname:

AxisError: axis 3 is out of bounds for array of dimension 3

实例:

素材:注意程序中用的是相对路径

np.expand_dims(),Python,TensorFlow,深度学习,tensorflow,深度学习,python,人工智能,cnn

import tensorflow as tf
tf.compat.v1.disable_eager_execution()
import numpy as np
from tensorflow.keras.preprocessing import image
from skimage import io

image_path="../images/lena.jpg"

# 加载图像
img = io.imread(image_path)

# 显示图像
io.imshow(img)
io.show()

# 图像预处理
x = image.img_to_array(img)
y = np.expand_dims(x, axis = 0)

print("x:", x)
print("y:", y)

print(x.shape)
print(y.shape)

结果:

D:\RuanJianAnZhunangWeiZhi\anaconda\anaconda3\envs\py3.6\python.exe E:\Python_files\Tensorflow_dl\TensorFlowProgramming\TensorFlowProgramming\ch6CNN\pool_op_demo2.py 
2023-04-04 08:24:33.571665: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found
2023-04-04 08:24:33.571878: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
x: [[[221. 139. 125.]
  [221. 139. 125.]
  [222. 139. 125.]
  ...
  [223. 136. 108.]
  [216. 131. 102.]
  [211. 126.  95.]]

 [[221. 139. 125.]
  [221. 139. 125.]
  [222. 139. 125.]
  ...
  [225. 139. 112.]
  [217. 132. 103.]
  [211. 126.  97.]]

 [[223. 140. 124.]
  [223. 140. 124.]
  [223. 140. 124.]
  ...
  [225. 141. 117.]
  [214. 130. 104.]
  [206. 122.  96.]]

 ...

 [[ 81.  26.  58.]
  [ 83.  28.  60.]
  [ 84.  27.  59.]
  ...
  [161.  72.  90.]
  [163.  75.  91.]
  [163.  75.  91.]]

 [[ 80.  25.  56.]
  [ 82.  27.  58.]
  [ 83.  26.  58.]
  ...
  [164.  76.  92.]
  [167.  76.  93.]
  [167.  76.  93.]]

 [[ 80.  25.  56.]
  [ 81.  26.  57.]
  [ 82.  25.  57.]
  ...
  [166.  78.  94.]
  [169.  78.  95.]
  [169.  78.  95.]]]
y: [[[[221. 139. 125.]
   [221. 139. 125.]
   [222. 139. 125.]
   ...
   [223. 136. 108.]
   [216. 131. 102.]
   [211. 126.  95.]]

  [[221. 139. 125.]
   [221. 139. 125.]
   [222. 139. 125.]
   ...
   [225. 139. 112.]
   [217. 132. 103.]
   [211. 126.  97.]]

  [[223. 140. 124.]
   [223. 140. 124.]
   [223. 140. 124.]
   ...
   [225. 141. 117.]
   [214. 130. 104.]
   [206. 122.  96.]]

  ...

  [[ 81.  26.  58.]
   [ 83.  28.  60.]
   [ 84.  27.  59.]
   ...
   [161.  72.  90.]
   [163.  75.  91.]
   [163.  75.  91.]]

  [[ 80.  25.  56.]
   [ 82.  27.  58.]
   [ 83.  26.  58.]
   ...
   [164.  76.  92.]
   [167.  76.  93.]
   [167.  76.  93.]]

  [[ 80.  25.  56.]
   [ 81.  26.  57.]
   [ 82.  25.  57.]
   ...
   [166.  78.  94.]
   [169.  78.  95.]
   [169.  78.  95.]]]]
(512, 512, 3)
(1, 512, 512, 3)

Process finished with exit code 0

参考文章:

https://blog.csdn.net/qq_37924224/article/details/119816771

https://blog.csdn.net/hong615771420/article/details/83448878文章来源地址https://www.toymoban.com/news/detail-725808.html

到了这里,关于Python-np.expand_dims()的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法

    鱼类识别系统。使用Python作为主要编程语言开发,通过收集常见的30种鱼类(‘墨鱼’, ‘多宝鱼’, ‘带鱼’, ‘石斑鱼’, ‘秋刀鱼’, ‘章鱼’, ‘红鱼’, ‘罗非鱼’, ‘胖头鱼’, ‘草鱼’, ‘银鱼’, ‘青鱼’, ‘马头鱼’, ‘鱿鱼’, ‘鲇鱼’, ‘鲈鱼’, ‘鲍鱼’, ‘鲑

    2024年02月02日
    浏览(100)
  • 基于Python+OpenCV+dlib+Tensorflow深度学习的人脸表情识别系统

    欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。   人脸表情识别是一种重要的计算机视觉任务,它涉及到对人脸图像中的表情进行分类和理解。在这个系统中,我们将使用Python、OpenCV、dlib和Tensorflow来实现深度学习模型,以识别人脸表情。

    2024年02月01日
    浏览(50)
  • 鸟类识别系统python+TensorFlow+Django网页界面+卷积网络算法+深度学习模型

    鸟类识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Django框架,开发网页端操作平台,实现用户上传一张图片识别其名称。 视频+代码:https://www.yuque.com/ziwu/

    2024年02月16日
    浏览(40)
  • 【Python深度学习】Tensorflow+CNN进行人脸识别实战(附源码和数据集)

    需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 下面利用tensorflow平台进行人脸识别实战,使用的是Olivetti Faces人脸图像 部分数据集展示如下  程序训练过程如下  接下来训练CNN模型 可以看到训练进度和损失值变化 接下来展示人脸识别结果   程序会根据一张图片自动

    2024年02月09日
    浏览(44)
  • 深度学习 | 基于 CPU 的 tensorflow + keras + python 版本对照及环境安装

    Hi,大家好,我是源于花海。 要让一个基于 CPU 的 tensorflow 和 keras 开发的深度学习模型正确运行起来,配置环境是个重要的问题,本文介绍了 tensorflow 和 keras 和对应的 python 版本以及安装环境的部分流程。 目录 一、tensorflow + keras + python 版本对照 二、tensorflow 和 keras 安装流

    2024年01月25日
    浏览(47)
  • 黑马程序员3天带你玩转Python深度学习TensorFlow框架学习笔记

    这是黑马程序员3天带你玩转Python深度学习TensorFlow框架学习笔记 视频链接: 黑马程序员3天带你玩转Python深度学习TensorFlow框架 学习目标:知道深度学习与机器学习的区别 区别:深度学习没有特征提取 特征方面 机器学习的特征工程步骤是要靠手动完成的,而且需要大量领域专

    2024年02月01日
    浏览(257)
  • python中的torch.nn.Softmax() 用法和例子 dim=1 dim=2

    torch.nn.Softmax() 是 PyTorch 中的一个类,用于实现 softmax 函数。softmax 函数是一种常用的激活函数,它可以将一个向量转换成一个概率分布,使得每个元素都是非负数且和为 1。softmax 函数通常在分类问题中使用,可以将一个多分类问题转换成多个二分类问题,从而得到每个类别的

    2024年02月16日
    浏览(104)
  • 基于Python+WaveNet+MFCC+Tensorflow智能方言分类—深度学习算法应用(含全部工程源码)(二)

    博主前段时间发布了一篇有关方言识别和分类模型训练的博客,在读者的反馈中发现许多小伙伴对方言的辨识和分类表现出浓厚兴趣。鉴于此,博主决定专门撰写一篇关于方言分类的博客,以满足读者对这一主题的进一步了解和探索的需求。上篇博客可参考: 《基于Python+W

    2024年02月05日
    浏览(42)
  • 基于Python+WaveNet+MFCC+Tensorflow智能方言分类—深度学习算法应用(含全部工程源码)(一)

    博主前段时间发布了一篇有关方言识别和分类模型训练的博客,在读者的反馈中发现许多小伙伴对方言的辨识和分类表现出浓厚兴趣。鉴于此,博主决定专门撰写一篇关于方言分类的博客,以满足读者对这一主题的进一步了解和探索的需求。上篇博客可参考: 《基于Python+W

    2024年02月05日
    浏览(40)
  • 基于Python+WaveNet+CTC+Tensorflow智能语音识别与方言分类—深度学习算法应用(含全部工程源码)

    本项目利用语音文件和方言标注文件,提取语音的梅尔倒谱系数特征,并对这些特征进行归一化处理。在基于标注文件的指导下,构建了一个字典来管理数据。接着,我们选择WaveNet机器学习模型进行训练,并对模型的输出进行softmax处理。最终,经过训练后的模型将被保存以

    2024年02月16日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包