Tensorflow.js 是否有方法中止对model.fit的调用?

Tensorflow.js 是否有方法中止对model.fit的调用?,tensorflow.js,Tensorflow.js,我希望网页上有一个按钮可以中止正在进行的培训。我意识到为FIT提供的回调可以抛出异常,以便在历元或批处理结束时中止,但有没有办法立即中止它?没有,没有办法通过Tensorflow.js API立即停止训练过程。这就是说,您可以生成自己的进程来运行训练,您可以随时杀死它 使用Tensorflow.jsAPI 要中止模型的运行训练,可以将model.stopTraining设置为true。如果设置了此变量,则Tensorflow.js仅在每个批次后检查。因此,使用Tensorflow.js API无

我希望网页上有一个按钮可以中止正在进行的培训。我意识到为FIT提供的回调可以抛出异常,以便在历元或批处理结束时中止,但有没有办法立即中止它?

没有,没有办法通过Tensorflow.js API立即停止训练过程。这就是说,您可以生成自己的进程来运行训练,您可以随时杀死它

使用Tensorflow.jsAPI 要中止模型的运行训练,可以将
model.stopTraining
设置为
true
。如果设置了此变量,则Tensorflow.js仅在每个批次后检查。因此,使用Tensorflow.js API无法直接中断培训过程

代码示例

wait model.fit(x,y{
回调:{
onBatchEnd:(批处理,日志)=>{//批处理后停止
如果(/*…*/){
model.stopTraining=true;
}
},
onEpochEnd:(历元,日志)=>{//历元后停止
如果(/*…*/){
model.stopTraining=true;
}
},
},
});
要在不等待批处理完成的情况下直接中止培训过程,必须终止该过程本身

通过扼杀过程扼杀培训 终止进程意味着您需要将脚本分为两个单独的部分。一部分是“管理”过程,跟踪第一部分,另一部分是实际培训

在浏览器环境中

在浏览器中,您可以使用WebWorker运行培训,然后调用以终止正在运行的进程。但是,在web worker内部启动培训过程并不容易,因为您需要传输数据并使用(当使用WebGL时)。查看此以了解更多信息

使用Node.js


在Node.js环境中,这更简单。您可以使用生成一个进程,并通过调用终止它。您仍然需要为流程提出一个通信方案,但是由于您的培训流程本身可以读取数据,因此开销应该不会太大。也就是说,仅仅停止培训是一项非常复杂的任务。

不,没有办法通过Tensorflow.js API立即停止培训过程。这就是说,您可以生成自己的进程来运行训练,您可以随时杀死它

使用Tensorflow.jsAPI 要中止模型的运行训练,可以将
model.stopTraining
设置为
true
。如果设置了此变量,则Tensorflow.js仅在每个批次后检查。因此,使用Tensorflow.js API无法直接中断培训过程

代码示例

wait model.fit(x,y{
回调:{
onBatchEnd:(批处理,日志)=>{//批处理后停止
如果(/*…*/){
model.stopTraining=true;
}
},
onEpochEnd:(历元,日志)=>{//历元后停止
如果(/*…*/){
model.stopTraining=true;
}
},
},
});
要在不等待批处理完成的情况下直接中止培训过程,必须终止该过程本身

通过扼杀过程扼杀培训 终止进程意味着您需要将脚本分为两个单独的部分。一部分是“管理”过程,跟踪第一部分,另一部分是实际培训

在浏览器环境中

在浏览器中,您可以使用WebWorker运行培训,然后调用以终止正在运行的进程。但是,在web worker内部启动培训过程并不容易,因为您需要传输数据并使用(当使用WebGL时)。查看此以了解更多信息

使用Node.js


在Node.js环境中,这更简单。您可以使用生成一个进程,并通过调用终止它。您仍然需要为流程提出一个通信方案,但是由于您的培训流程本身可以读取数据,因此开销应该不会太大。也就是说,停止训练是一项非常复杂的任务。

谢谢,这非常有帮助。model.stopTraining不应该记录在?@ToonTalk上吗?目前还没有很好的记录。我是在和你一样的情况下才发现这一点的,我正在研究如何做到这一点。谢谢,这非常有帮助。model.stopTraining不应该记录在?@ToonTalk上吗?目前还没有很好的记录。我只是在我和你处于同样的情况下,并且在研究如何做到这一点时才发现这一点的。