📅  最后修改于: 2023-12-03 15:05:33.258000             🧑  作者: Mango
tf.range()
函数用于生成一个一维张量,该张量包括从 start
开始,以 delta
为步进递增的一系列数字,直到数字超过 limit
。
tf.range(start, limit, delta, dtype?)
start
:默认为 0
,表示生成一系列数字的起始值。limit
:必填,表示生成的数字中最后一个数字的值。delta
:选填,默认为 1
,表示生成数字的步进值。dtype
:选填,默认为 'float32'
,生成数字的类型。// 起始值为 0,最后一个数字为 9,步进值为 1,生成一个数字序列
const x = tf.range(10);
x.print(); // 输出:Tensor
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
// 起始值为 1,最后一个数字为 9,步进值为 2,生成一个数字序列
const y = tf.range(1, 10, 2);
y.print(); // 输出:Tensor
// [1, 3, 5, 7, 9]
// 起始值为 0,最后一个数字为 9,步进值为 1,生成一个 int32 类型的数字序列
const z = tf.range(10, 'int32');
z.print(); // 输出:Tensor
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
tf.range()
函数在生成一系列数字的过程中非常实用,能够在模型训练中方便地生成一些必要的张量,如下:
// 生成一个 3 * 3 的单位矩阵
const identity = tf.eye(3);
identity.print(); // 输出:Tensor
// [[1, 0, 0],
// [0, 1, 0],
// [0, 0, 1]]
// 生成一个 2 * 2 的全零矩阵,同时要求生成张量的元素类型为 int32
const zeros = tf.zeros([2, 2], 'int32');
zeros.print(); // 输出:Tensor
// [[0, 0],
// [0, 0]]
tf.range()
函数是一个生成数字序列的实用函数,常常用于神经网络训练中生成某些必要的张量,还可用于生成矩阵和向量等等。在使用时,要注意设置好起始值、最后一个数字、步进值和类型等参数。