【发布时间】:2019-09-10 09:32:37
【问题描述】:
我正在做一个机器学习项目,我正在尝试使用 angular 部署我的算法。 我已经正确上传了预训练模型,并且我设法从 csv 上传数据,但现在我无法正确地将我拥有的数据转换为正确的张量格式。 我的模型是一个 LSTM 神经网络,它期望时间窗长度为 60 个加速度计数据(x 轴、y 轴和 z 轴)来预测人类活动,因此格式为 [any, 60,3] 在下面,您可以找到我目前拥有的代码的重要部分
在这里加载模型
async loadModel() {
this.model = await tf.loadLayersModel('assets/tfjs_model/model.json');
};
现在我有一个带有 tf.ones() 函数的占位符来简单地测试我的预测是否有效(它确实有效!!)
async predictProcess() {
const output = this.model.predict([tf.ones([10, 60, 3])]) as any;
this.predictions = Array.from(output.dataSync());
console.log(this.predictions);
};
这是我加载数据的代码部分
getDataRecordsArrayFromCSVFile(csvRecordsArray: any, headerLength: any) {
let dataArr = [];
for (let i = 0; i < csvRecordsArray.length; i++) {
let data = (<string>csvRecordsArray[i]).split(',');
// FOR EACH ROW IN CSV FILE IF THE NUMBER OF COLUMNS
// ARE SAME AS NUMBER OF HEADER COLUMNS THEN PARSE THE DATA
if (data.length == headerLength) {
let csvRecord: CSVRecord = new CSVRecord();
// csvRecord.timestep = Number(data[0].trim());
csvRecord.xAxis = Number(data[1].trim());
csvRecord.yAxis = Number(data[2].trim());
csvRecord.zAxis = Number(data[3].trim());
dataArr.push(csvRecord);
}
}
return dataArr;
}
这是 CSVRecord 类
export class CSVRecord {
public timestep: any;
public xAxis: any;
public yAxis: any;
public zAxis: any;
}
【问题讨论】:
-
我知道答案和人们回答我的问题所花费的时间,我正在努力自己解决问题。但是在这样做的同时,新的问题/问题出现了。我只是在这里寻求帮助,因为我对编程的某些部分不熟悉......
-
在下面查看我的答案
标签: javascript angular typescript tensorflow.js