Tensorflow.js tf.memory()函数
Tensorflow.js 是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。
Tensorflow.js tf.memory()函数用于获取程序当前时间的内存信息。此函数返回具有以下属性的 memoryInfo 对象:
- numBytes:它指定 当前分配的未处理字节数。
- numTensors:它指定分配的唯一张量的数量。
- numDataBuffers :它指定当前时间分配的未处理的唯一数据缓冲区的数量,该数量大于或等于张量的数量。
- 不可靠:不可靠是 仅当内存使用不可靠时才为真。
- 原因:它指定了一个字符串数组,表示内存不可靠的原因。
WebGL 属性:
- numBytesInGPU:它指定当前时间在GPU中分配的未处理字节的总数。
句法:
tf.memory()
参数:此函数不接受任何参数。
返回值:它返回一个 memoryInfo 对象。
示例 1:打印分配张量的编号示例。
Javascript
// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
// Declaring a variable
let res1
// Calling tidy method
const res2 = tf.tidy(() => {
// Defining result parameter
const result = tf.scalar(121);
// Calling tf.keep() method
res1 = tf.keep(result.sqrt());
});
// Printing the number of tensors allocated at this time
console.log('numTensors: ' + tf.memory().numTensors);
Javascript
// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
// Declaring a variable
let res1;
// Calling tidy method
const res2 = tf.tidy(() => {
console.log('numTensors (in tidy) : ' + tf.memory().numTensors);
// Calling tf.keep() method with its
// parameter
res1 = tf.keep(tf.tensor1d(
[1.3, 0.5, 0, NaN, null, -.5]).cos());
});
// Printing memory information
console.log('numBytes : ' + tf.memory().numBytes);
console.log('numTensors (outside tidy): ' + tf.memory().numTensors);
console.log('numDataBuffers : ' + tf.memory().numDataBuffers);
输出:
numTensors: 1
示例 2:
Javascript
// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
// Declaring a variable
let res1;
// Calling tidy method
const res2 = tf.tidy(() => {
console.log('numTensors (in tidy) : ' + tf.memory().numTensors);
// Calling tf.keep() method with its
// parameter
res1 = tf.keep(tf.tensor1d(
[1.3, 0.5, 0, NaN, null, -.5]).cos());
});
// Printing memory information
console.log('numBytes : ' + tf.memory().numBytes);
console.log('numTensors (outside tidy): ' + tf.memory().numTensors);
console.log('numDataBuffers : ' + tf.memory().numDataBuffers);
输出:
numTensors (in tidy) : 1
numBytes : 28
numTensors (outside tidy): 2
numDataBuffers : 2
参考: https://js.tensorflow.org/api/latest/#memory