我想知道如果我要正常渲染场景,但实际上还没有在画布上渲染它们,我是否基本上可以获得将在画布上渲染的像素(作为数组缓冲区) 。如果是这样,怎么办?
我真的没有任何代码可以做类似的事情,因为我不知道它是否可能。(而且我对 Three.js 还很陌生)
我从文档中的示例中获取了一些基本的tensorflow.js代码:
const image = new ImageData(1, 1);
image.data[0] = 100;
image.data[1] = 150;
image.data[2] = 200;
image.data[3] = 255;
const xs = tf.fromPixels(image);
xs.print();Run Code Online (Sandbox Code Playgroud)
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.0.0/dist/tf.min.js"></script>Run Code Online (Sandbox Code Playgroud)
使用此版本(网站告诉您使用的版本):
https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.0.0/dist/tf.min.js
并得到错误:Uncaught TypeError: tf.fromPixels is not a function这可能是什么原因造成的?运行代码段时,其他人会收到此错误吗?
我发现这个问题或多或少在其他地方以不太清晰的语言提出,但答案是
“我怀疑你有什么理由这么做。”
这看起来并不是一个有效的答案,考虑到它是否从根本上是可能的(很可能不是),它将允许我们在并行线程中更快地生成大型(100GB+)文件。现在,如果您的数据结构确实可以以这种并行方式编写,那么您可能只需在 16 个线程上编写 16 个不同的文件就可以了。这可能就是我要做的。
但出于好奇,假设我们真的非常希望将所有数据存储在一个文件中。可以多个
fs.createWriteStream(filePath)
Run Code Online (Sandbox Code Playgroud)
从单独的线程调用并成功并行写入同一文件中的位置?
我在文档中找不到任何相关信息,尽管我怀疑答案是否定的。
一个错误让我在 45 分钟的循环中挠挠头,当我终于意识到分配一个包含另一个(空)数组的数组时myArray = [[]],它与false以下内容等效:
if (myArray == false) {} // true
Run Code Online (Sandbox Code Playgroud)
我意识到这一点,if (myArray === false) {} // false但为什么长度 > 0 的数组完全等同false于?