0%

1. tensor API 总览

根据官方文档,对 tensor 可以进行如下操作:

  1. creation 操作
  2. indexing,slicing,joining 及 mutating 操作
  3. math 操作
  • elementwise 操作
  • reduction 操作
  • comparison 操作
  • spectral 操作
  • linear algebra 操作
  1. random sampling 操作
  2. serialization 操作
  3. parallelism 操作

本文以及接下来的几篇文章会关注前四个操作,最后两个操作会在合适的时候提到。

阅读全文 »

1. 张量

张量就是在深度学习里,可以使用 GPU 运算的多维数组。

  • 0 维张量是一个标量(scalar);
  • 1 维张量是一个矢量(vector);
  • 2 维张量是一个矩阵(matrix);
  • 3 维以上的张量没有通俗的表示。

2. 张量的数据类型

张量一共有三种,整数型、浮点型和布尔型。整数型和浮点型张量的精度分别有 8 位、16 位、32 位、64 位。

类型 精度 表示
整形 8 位 torch.int8
16 位 torch.int16 或 torch.short
32 位 torch.int 或 torch.int32
64 位 torch.int64 或torch.long
浮点型 16 位 torch.float16 或 torch.half
32 位 torch.float 或 torch.float32
64 位 torch.float64 或 torch.double
布尔型 torch.bool

获得一个张量的数据类型可以通过 Tensor.dtype 实现;如果给这个表达式赋值则将这个张量的数据类型改为目标类型。

阅读全文 »

每个人都知道 Python 是一种高效、简洁、优雅的语言。然而 Python 也有很多坑,现在老宅开一个新系列,分享老宅在学习和实践中总结的经验和教训,不定期分享。

第一个经验就是要吐槽数据框的切片。Python 有很多第三方的模块(比如 pandas 这样的数据科学神器),对提升 Python 的实用性贡献很大。然而模块多就有一个副作用:语法的不一致性。老宅在学习 pandas 的过程中就被数据框切片的复杂语法搞得挠头。

阅读全文 »