Classification 分类
以下内容是根据torch官网和莫烦python学习所得
该程序中的函数
-
torch.normal(means, std, out=None)
返回一个张量,包含从给定参数means,std的离散正态分布中抽取随机数。
均值means是一个张量,包含每个输出元素相关的正态分布的均值。
std是一个张量,包含每个输出元素相关的正态分布的标准差。
均值和标准差的形状不须匹配,但每个张量的元素个数须相同。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q1ujVXag-1584712078188)(assets/1582290699984.png)]
-
C = torch.cat( (A,B),0 ) #按维数0拼接(竖着拼)要求列数相同
C = torch.cat( (A,B),1 ) #按维数1拼接(横着拼)要求行数相同
-
plt.ion() plt.ioff()
在使用matplotlib的过程中,常常会需要画很多图,但是好像并不能同时展示许多图。这是因为python可视化库matplotlib的显示模式默认为阻塞(block)模式。什么是阻塞模式那?我的理解就是在plt.show()之后,程序会暂停到那儿,并不会继续执行下去。如果需要继续执行程序,就要关闭图片。那如何展示动态图或多个窗口呢?这就要使用plt.ion()这个函数,使matplotlib的显示模式转换为交互(interactive)模式。即使在脚本中遇到plt.show(),代码还是会继续执行
-
torch.max(input, dim, keepdim=False, out=None) -> (Tensor, LongTensor)
按维度dim 返回最大值,并且返回索引。dim=0 取每一列的最大值,dim=1 取每一行的最大值。
test_output = cnn(test_x) //将数据输入网络,得到输出结果 pred_y = torch.max(test_output, 1)[1].data.numpy() # torch.max(test_output, 1)[0]得到每一行的最大值 # torch.max(test_output, 1)[1]得到每一行的最大值的索引
- torch.max(test_output, 1)
- torch.return_types.max(values=tensor( [13.5198, 10.9779, 7.0184, 8.7294, 9.6836, 8.4372, 6.8225, 4.4336, 7.3900, 7.1887], grad_fn=), indices=tensor([7, 2, 1, 0, 4, 1, 4, 9, 5, 9]) )
-
numpy.squeeze(a,axis = None)
a表示输入的数组;
axis用于指定需要删除的维度,但是指定的维度必须为单维度,否则将会报错;
axis的取值可为None 或 int 或 tuple of ints, 可选。若axis为空,则删除所有单维度的条目;
返回值:数组
不会修改原数组; -
*matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, , plotnonfinite=False, data=None, kwargs) [source]
源代码
import torch
import matplotlib.pyplot as plt
import