深度学习Books

浏览器端的机器学习 tensorflowjs(3) 加载 2D

2021-06-25  本文已影响0人  zidea
cover_002.png

现在你已经创建了 HTML 和 JavaScript文件,当在浏览器中打开 index.html 文件,并打开devtools 控制台。

安装好 Tensorflow 后第一步就是加载数据,对数据进行格式化和可视化,我们想要训练模型的数据。

加载数据

读取 JSON 文件来加载 汽车数据集,已经为你托管了这个文件。包含了关于每辆汽车的许多不同特征。在分享中,只想提取有关马力和mpg每加仑英里的数据。

async function getData() {
  const carsDataResponse = await fetch('https://storage.googleapis.com/tfjs-tutorials/carsData.json');
  const carsData = await carsDataResponse.json();
  const cleaned = carsData.map(car => ({
    mpg: car.Miles_per_Gallon,
    horsepower: car.Horsepower,
  }))
  .filter(car => (car.mpg != null && car.horsepower != null));

  return cleaned;
}

加载数据后,对出原始数据进行适当处理,也可以理解为对数据的将 Miles_per_Gallon 转换为 mpg 字段,而 Horsepower 转换为 horsepower 字段,并且过滤调用这些字段为空(null)数据。

2D 数据可视化

到现在,你应该在页面的左侧看到一个面板,上面有一个数据的散点图。它看起来应该是这样的。

  async function run() {
    // 加载数据
    const data = await getData();
    // 处理原始数据,将数据 horsepower 映射为 x 而 mpg 则映射为 y
    const values = data.map(d => ({
      x: d.horsepower,
      y: d.mpg,
    }));
    // 将数据以散点图形式显示在开发者调试工具
    
  
    tfvis.render.scatterplot(
      {name: 'Horsepower v MPG'},
      {values},
      {
        xLabel: 'Horsepower',
        yLabel: 'MPG',
        height: 300
      }
    );
  
  }
  
  document.addEventListener('DOMContentLoaded', run);

这部分代码如果用过 matplot 朋友应该不陌生,就是在 devtool 工具中绘制一个图像将数据以更直观方式显示出来,其实 name 为图标的标题,values 为数据通常 x 和 y 坐标值,而 xLabel 表示 x 轴的坐标 yLabel 表示 y 轴的坐标

 tfvis.render.scatterplot(
      {name: 'Horsepower v MPG'},
      {values},
      {
        xLabel: 'Horsepower',
        yLabel: 'MPG',
        height: 300
      }
    );
截屏2021-06-25上午11.01.49.png

个人对如何在 devtool 绘制图标还是比较感兴趣,有时间也想自己搞一搞。

上一篇下一篇

猜你喜欢

热点阅读