TensorFlow.js的使用示例代码
时间: 2023-12-05 19:03:57 浏览: 125
示例:TensorFlow示例
以下是一个简单的使用TensorFlow.js进行图像分类的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>TensorFlow.js Image Classification Demo</title>
<!-- 加载 TensorFlow.js 库 -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.5.0/dist/tf.min.js"></script>
<!-- 加载模型文件 -->
<script src="./model/model.json"></script>
<script>
async function main() {
// 加载模型
const model = await tf.loadLayersModel('localstorage://my-model');
// 获取图像元素
const img = document.getElementById('img');
// 将图像转换为 Tensor 对象
const tensor = tf.browser.fromPixels(img)
.resizeNearestNeighbor([224, 224])
.toFloat()
.expandDims();
// 预处理图像
const meanImageNetRGB = tf.tensor1d([123.68, 116.779, 103.939]);
const processedTensor = tensor.sub(meanImageNetRGB)
.reverse(2)
.div(tf.scalar(255));
// 运行模型进行预测
const prediction = await model.predict(processedTensor).data();
// 获取最大概率的类别
const maxClassIndex = prediction.indexOf(Math.max(...prediction));
const classNames = ['daisy', 'dandelion', 'roses', 'sunflowers', 'tulips'];
const className = classNames[maxClassIndex];
// 显示预测结果
const resultElement = document.getElementById('result');
resultElement.innerHTML = `预测结果:${className}`;
}
</script>
</head>
<body>
<h1>TensorFlow.js Image Classification Demo</h1>
<img id="img" src="./test.jpg" width="224" height="224">
<br>
<button onclick="main()">预测</button>
<br>
<div id="result"></div>
</body>
</html>
```
这个示例代码会加载一个已经训练好的图像分类模型,然后使用这个模型对一张测试图像进行分类。在这个示例代码中,我们使用了 TensorFlow.js 的 `tf.browser.fromPixels` 函数将图像转换为 Tensor 对象,并使用了一些预处理技巧对图像进行了处理。最后,我们使用 `model.predict` 函数对处理后的图像进行预测,并返回一个包含每个类别概率的数组。我们可以通过查找这个数组中最大概率的位置来确定预测结果所属的类别。
阅读全文