Tensorflow.js是Google開發的開源庫,用於在瀏覽器或節點環境中運行機器學習模型和深度學習神經網絡。
tf.customGrad()函數用於返回指定自定義函數“f”的梯度。在這裏,自定義函數給出{value:Tensor,gradFunc:(dy,saved)→Tensor []},其中gradFunc給出輸入函數f關於其輸入的自定義梯度。
用法:
tf.customGrad(f)
參數:此函數接受如下所示的參數:
- f:它是指定的自定義函數。
返回值:此函數返回指定自定義函數“f”的梯度
範例1:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Initializing a custom function f
const f = (a, save) => {
// Saving a for its availablity later for the gradient
save([a]);
// Overriding gradient of a^2
return {
value:a.square(),
// Here "saved.a" pointing to "a" which
// have been saved above
gradFunc:(dy, saved) => [dy.mul(saved[0].abs())]
};
}
// Calling the .customGrad() function
// over the above specified custom function f
const customOp = tf.customGrad(f);
// Initializing a 1D Tensor of some values
const a = tf.tensor1d([0, -1, 1, 2]);
// Getting the gradient of above function
// f for the above specified Tensor values
const da = tf.grad(a => customOp(a));
// Printing the custom function "f" for the
// above specified Tensor "a"
console.log(`f(a):`);
customOp(a).print();
// Printing the gradient of the function "f" for the
// above specified Tensor "a"
console.log(`f'(a):`);
da(a).print();
輸出:
f(a): Tensor [0, 1, 1, 4] f'(a): Tensor [0, 1, 1, 2]
範例2:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Calling the .customGrad() function
// with the custom function "f" as
// it's parameter
const customOp = tf.customGrad(
// Initializing a custom function f
(a, save) => {
// Saving a for its availablity later for the gradient
save([a]);
// Overriding gradient of a^3
return {
value:a.pow(tf.scalar(3, 'int32')),
// Here "saved.a" pointing to "a" which
// have been saved above
gradFunc:(dy, saved) => [dy.mul(saved[0].abs())]
};
}
);
// Initializing a 1D Tensor of some values
const a = tf.tensor1d([0, -1, 2, -2, 0.3]);
// Getting the gradient of above function
// f for the above specified Tensor values
const da = tf.grad(a => customOp(a));
// Printing the custom function "f" for the
// above specified Tensor "a"
console.log(`f(a):`);
customOp(a).print();
// Printing the gradient of the function "f" for the
// above specified Tensor "a"
console.log(`f'(a):`);
da(a).print();
輸出:
f(a): Tensor [0, -1, 8, -8, 0.027] f'(a): Tensor [0, 1, 2, 2, 0.3]
相關用法
- PHP imagecreatetruecolor()用法及代碼示例
- p5.js year()用法及代碼示例
- d3.js d3.utcTuesdays()用法及代碼示例
- PHP ImagickDraw getTextAlignment()用法及代碼示例
- PHP Ds\Sequence last()用法及代碼示例
- PHP Imagick floodFillPaintImage()用法及代碼示例
- PHP array_udiff_uassoc()用法及代碼示例
- PHP geoip_continent_code_by_name()用法及代碼示例
- d3.js d3.map.set()用法及代碼示例
- PHP GmagickPixel setcolor()用法及代碼示例
- PHP opendir()用法及代碼示例
- PHP cal_to_jd()用法及代碼示例
- d3.js d3.bisectLeft()用法及代碼示例
- PHP stream_get_transports()用法及代碼示例
- PHP Ds\Deque pop()用法及代碼示例
注:本文由純淨天空篩選整理自Kanchan_Ray大神的英文原創作品 Tensorflow.js tf.customGrad() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。