numpy.flatnonzero():
2024-09-06 12:20:57
numpy.flatnonzero():
该函数输入一个矩阵,返回扁平化后矩阵中非零元素的位置(index)
这是官方文档给出的用法,非常正规,输入一个矩阵,返回了其中非零元素的位置.
1 >>> x = np.arange(-2, 3)
2 >>> x
3 array([-2, -1, 0, 1, 2])
4 >>> np.flatnonzero(x)
5 array([0, 1, 3, 4])
import numpy as np
d = np.array([1,2,3,4,4,3,5,3,6])
haa = np.flatnonzero(d == 3)
print (haa) [2 5 7]
对向量元素的判断d==3返回了一个和向量等长的由0/1组成的矩阵,然后调用函数,返回的位置,就是对应要找的元素的位置。
# Visualize some examples from the dataset.
# We show a few examples of training images from each class.
classes = ['plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck'] #类别列表
num_classes = len(classes) #类别数目
samples_per_class = 7 # 每个类别采样个数
for y, cls in enumerate(classes): # 对列表的元素位置和元素进行循环,y表示元素位置(0,num_class),cls元素本身'plane'等
idxs = np.flatnonzero(y_train == y) #找出标签中y类的位置
idxs = np.random.choice(idxs, samples_per_class, replace=False) #从中选出我们所需的7个样本
for i, idx in enumerate(idxs): #对所选的样本的位置和样本所对应的图片在训练集中的位置进行循环
plt_idx = i * num_classes + y + 1 # 在子图中所占位置的计算
plt.subplot(samples_per_class, num_classes, plt_idx) # 说明要画的子图的编号
plt.imshow(X_train[idx].astype('uint8')) # 画图
plt.axis('off')
if i == 0:
plt.title(cls) # 写上标题,也就是类别名
plt.show() # 显示
最新文章
- k-sum问题
- BZOJ 2038 小z的袜子 &; 莫队算法(不就是个暴力么..)
- Jenkins入门系列之——01第一章 Jenkins是什么?
- PHP中,文件上传实例
- 再论pyquery
- DatagridView自动充满屏幕,并能指定某列宽度
- 将博客搬至51CTO
- ubuntu16.04 编译安装mysql5.7.x,以及配置使用
- iOS Core data多线程并发访问的问题
- SGU 186
- validate()的配置项
- python entry points 例子
- GetCursorPos/WindowFromPoint/SendMessage
- ASP.NET MVC 文件上传和路径处理
- n以内质数占的比例
- 配置最新版LAMP环境
- linux上安装memcached步骤
- [AGC 018 E] Sightseeing plan
- centos7下安装docker(3.3创建镜像--修改dockerfile)
- curl_setopt — 设置 cURL 传输选项