如何将(5,)numpy数组转换为(5,1)?
以及如何从(5,1)向后转换为(5,)?
(5,)数组的用途是什么,为什么省略一维?我的意思是为什么我们不总是使用(5,1)形式?
这是否仅在1D和2D数组上发生,还是在3D数组上发生,例如(2,3,)数组可以存在吗?
更新:
我设法通过(5,)转换为(5,1)
a= np.reshape(a, (a.shape[0], 1))
Run Code Online (Sandbox Code Playgroud)
但建议的变体看起来更简单:
a = a[:, None] or a = a[:, np.newaxis]
Run Code Online (Sandbox Code Playgroud)
要将(5,1)转换为(5,),可以使用np.ravel
a= np.ravel(a)
Run Code Online (Sandbox Code Playgroud) 我现在正在研究分类问题,并尝试在线完成所有工作,而无需访问本地计算机。因此,我已将数据添加到驱动器并将驱动器安装在 Colab 上。现在我想注释我的数据并决定使用LabelImg注释器。我将 git 克隆到 Colab 并尝试按照步骤建议的方式启动它。但我遇到了一个错误。尽管查看了其他类似的答案,但我无法解决问题
要克隆和启动的代码:
import os
os.chdir('/content')
!git clone 'https://github.com/tzutalin/labelImg.git'
os.chdir('/content/labelImg')
!sudo apt-get install pyqt5-dev-tools
!sudo pip3 install -r requirements/requirements-linux-python3.txt
!make qt5py3
!python3 labelImg.py
!python3 labelImg.py ['/content/labelImg'] []
Run Code Online (Sandbox Code Playgroud)
错误(以及编译注释):
Reading package lists... Done
Building dependency tree
Reading state information... Done
pyqt5-dev-tools is already the newest version (5.10.1+dfsg-1ubuntu2).
The following package was automatically installed and is no longer required:
libnvidia-common-410
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove …Run Code Online (Sandbox Code Playgroud)