我正在一个简单的tensorflow.js项目上工作,并且如果我将js代码放在index.html文件中,则可以无错误地运行所有内容,但是如果我尝试引用外部js文件,则会收到错误消息(这是在Chrome中-尽管我在Firefox中也遇到了错误):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Playing with TensorFlow.js</title>
<!-- Load TensorFlow.js -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.12.5"> </script>
<!-- Place your code in the script tag below. You can also use an external .js file -->
<script type = "text/javascript" src = "../server/app.js"></script>
</head>
<body>
</body>
</html>
所引用的外部JS文件包含以下代码:
// Define a model for linear regression.
const model = tf.sequential();
model.add(tf.layers.dense({ units: 1, inputShape: [1] }));
// Prepare the model for training: Specify the loss and the optimizer.
model.compile({ loss: 'meanSquaredError', optimizer: 'sgd' });
// Generate some synthetic data for training.
const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);
// Train the model using the data.
model.fit(xs, ys, { epochs: 10 }).then(() => {
// Use the model to do inference on a data point the model hasn't seen before:
// Open the browser devtools to see the output
model.predict(tf.tensor2d([5], [1, 1])).print();
});
上面的代码看起来正确吗?这只是Chrome的安全默认设置吗?有办法解决吗?
顺便说一句,这是错误:
获取http://localhost:4800/server/app.js 404(未找到)localhost /:1
拒绝执行“ http://localhost:4800/server/app.js”中的脚本 因为它的MIME类型('text / html')是不可执行的,并且是严格的MIME 类型检查已启用。
答案 0 :(得分:1)
这听起来很傻,但是文件名中是否存在拼写错误?浏览器找不到文件。该文件肯定在“服务器”文件夹中吗?也许,请尝试将.js文件放置在根文件夹中,并且只保留Javascript文件名而没有任何目的地。从外观上看,这将是一个简单但愚蠢的错误。