我开发了带有张量流的神经网络模型。我想在每次更新时保存模型的权重。所以我每次学习都会更新服务器上的文件。但是tensorflow js网站上有关使用http服务器保存模型的文档确实令人困惑。所以我做了一些研究,找到了一些代码。仍然无法正常工作。我知道我缺少“ multipart / form-data”,并且有两个文件,“主体由两个文件组成,文件名分别为model.json和model.weights.bin”。找不到任何可以帮助我的东西。 link to tensorflow documentation!
要保存的JavaScript
model.save('http://example.com/save.php');
save.php
<?php
$putdata = fopen("php://input", "r");
$fname = "weights.json";
$file = fopen("../static/" .$fname, 'w');
while ($data = fread($putdata, 1024)){
fwrite($file, $data);
}
fclose($file);
fclose($putdata);
?>
答案 0 :(得分:0)
http://php.net/manual/en/function.file-put-contents.php
我没有看到php stdin的输入部分。这让我觉得该连接没有像套接字连接那样发送流,而是具有body属性的标准HTTP有效负载。但是,等等,他们的警告。如果它是JSON有效负载,则需要后两行(就像您在代码中一样,但不作为资源)。前两个是我对可能发生的情况的猜测。记住,您可以通过浏览器控制台进行调试,以查看数据有效载荷,请求方法等...
$data = '<pre>' . json_encode($_POST) . '</pre>';
file_put_contents('stdPost.html', $data);
$data = file_get_contents('php://input');
file_put_contents('stdInput.json', $data);