Tensorflow.js是Google開發的開源工具包,用於在瀏覽器或節點平台上執行機器學習模型和深度學習神經網絡。它還使開發人員能夠在 JavaScript 中創建機器學習模型,並直接在瀏覽器中或通過 Node.js 使用它們。
函數 tf.loadLayersModel() 用於加載由 Layer 對象組成的模型,包括其拓撲和可選的權重。
用法:
tf.loadLayersModel(pathOrIOHandler, options?)
參數:
- pathOrIOHandler:可以使用以下兩種形式之一:
- ModelAndWeightsConfig JSON 文件的字符串路徑,以 TensorFlow.js 格式說明模型。對於 file://(tfjs-node-only)、http://和 https://架構,路徑可以是絕對路徑或相對路徑。
- 一個 tf.io.IOHandler 對象,使用 load 方法加載模型工件。
- options (Object):可選的模型加載配置參數,包括:
- requestInit:RequestInit(選項)用於 HTTP 請求。
- onProgress:進度回調。
- fetchFunc:窗口的覆蓋函數。
- strict (boolean):嚴格的加載模型:是否缺少或無關的重量都會導致錯誤。默認值是true。
- weightPathPrefix (string):權重文件路徑前綴,默認源自模型 JSON 文件的路徑。
- fromTFHub (boolean):是否應從 TF Hub 加載模塊或模型。默認值為 false。
- weightUrlConverter:將權重文件的名稱轉換為其 URL 的異步方法。權重文件的名稱記錄在 model.json 的 weightsManifest.paths 字段中。默認情況下,權重文件假定為co-located,並帶有model.json 文件。
返回值:Promise<tf.LayersModel>
示例 1:
Javascript
import * as tf from "@tensorflow/tfjs";
const model = await tf.loadLayersModel(
'https://storage.googleapis.com/tfjs-models/tfjs/mnist_transfer_cnn_v1/model.json');
model.summary();
輸出:
示例 2:
Javascript
import * as tf from "@tensorflow/tfjs";
const input = tf.input({ shape: [4, 4, 4] });
const conv2DLayer = tf.layers.conv2d({ filters: 2, kernelSize: 2});
const output = conv2DLayer.apply(input);
const model = tf.model({ inputs: input, outputs: output });
console.log("Original Model's prediction:");
model.predict(tf.ones([1, 4, 4, 4])).print();
const path='file://./model'
const saveResults = await model.save(path);
const loadedModel = await tf.loadLayersModel(path);
console.log("Loaded Model's Prediction:");
model.predict(tf.ones([1, 4, 4, 4])).print();
輸出:
Original Model's prediction: Tensor [[[[-0.592868, 0.4749331], [-0.592868, 0.4749331], [-0.592868, 0.4749331]], [[-0.592868, 0.4749331], [-0.592868, 0.4749331], [-0.592868, 0.4749331]], [[-0.592868, 0.4749331], [-0.592868, 0.4749331], [-0.592868, 0.4749331]]]] Loaded Model's Prediction: Tensor [[[[-0.592868, 0.4749331], [-0.592868, 0.4749331], [-0.592868, 0.4749331]], [[-0.592868, 0.4749331], [-0.592868, 0.4749331], [-0.592868, 0.4749331]], [[-0.592868, 0.4749331], [-0.592868, 0.4749331], [-0.592868, 0.4749331]]]]
參考: https://js.tensorflow.org/api/latest/#loadLayersModel
相關用法
- Tensorflow.js tf.loadGraphModel()用法及代碼示例
- Tensorflow.js tf.logicalAnd()用法及代碼示例
- Tensorflow.js tf.logicalNot()用法及代碼示例
- Tensorflow.js tf.logicalOr()用法及代碼示例
- Tensorflow.js tf.logicalXor()用法及代碼示例
- Tensorflow.js tf.logSumExp()用法及代碼示例
- Tensorflow.js tf.logSoftmax()用法及代碼示例
- Tensorflow.js tf.logSigmoid()用法及代碼示例
- Tensorflow.js tf.log1p()用法及代碼示例
- Tensorflow.js tf.log()用法及代碼示例
- Tensorflow.js tf.losses.computeWeightedLoss()用法及代碼示例
- Tensorflow.js tf.losses.sigmoidCrossEntropy()用法及代碼示例
- Tensorflow.js tf.losses.huberLoss()用法及代碼示例
- Tensorflow.js tf.losses.meanSquaredError()用法及代碼示例
- Tensorflow.js tf.losses.softmaxCrossEntropy()用法及代碼示例
- Tensorflow.js tf.losses.cosineDistance()用法及代碼示例
- Tensorflow.js tf.localResponseNormalization()用法及代碼示例
- Tensorflow.js tf.losses.hingeLoss()用法及代碼示例
- Tensorflow.js tf.losses.logLoss()用法及代碼示例
- Tensorflow.js tf.losses.absoluteDifference()用法及代碼示例
- Tensorflow.js tf.less()用法及代碼示例
- Tensorflow.js tf.lessEqual()用法及代碼示例
- Tensorflow.js tf.layers.minimum()用法及代碼示例
- Tensorflow.js tf.linalg.bandPart()用法及代碼示例
- Tensorflow.js tf.leakyRelu()用法及代碼示例
注:本文由純淨天空篩選整理自aayushmohansinha大神的英文原創作品 Tensorflow.js tf.loadLayersModel() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。