11 分•作者: weinzierl•10 个月前
返回首页
最新
1 分•作者: muchlakshay•10 个月前
大家好!我是一名 15 岁的学生,刚刚从零开始完成了一个支持 CPU 和 GPU (CUDA) 训练的双后端多层感知器 (MLP)。
对于 CPU 后端,我只使用了 Eigen 库进行线性代数运算,没有使用其他库。
对于 GPU 后端,我用 CUDA C++ 实现了自己的自定义矩阵库。CUDA 内核没有使用共享内存、分块或融合操作进行优化(因此存在一些内核启动开销),但我选择了清晰性、模块化和可重用性,而不是追求几毫秒的加速。
尽管如此,我已经注意确保合并内存访问,并且它提供了相当不错的性能,在 RTX 3060 上,MNIST 数据集每个 epoch 大约需要 0.4 毫秒(批量大小 = 1000)。
这个项目比我之前的项目有了很大的进步。它更简洁、文档更完善,也更模块化。
我完全清楚可以改进的地方,并且我将在未来的项目中继续努力。我的长期目标是进入哈佛或麻省理工学院,而这个项目是我实现目标的一部分。
很乐意听取您的想法、建议或反馈。
我已经附上了我的 GitHub 仓库链接。
1 分•作者: samaysharma•10 个月前
1 分•作者: erikvdven•10 个月前
1 分•作者: xiaohanyu•10 个月前
1 分•作者: ingve•10 个月前
1 分•作者: yohimik•10 个月前
没有标题党,只有纯 HTML、CSS、JavaScript 和 WASM<p>只需复制并粘贴此 HTML 代码即可运行《半条命》<p>https://www.npmjs.com/package/xash3d-fwgs<p>https://www.npmjs.com/package/cs16-client<p>https://www.npmjs.com/package/hlsdk-portable<p>https://github.com/yohimik/webxash3d-fwgs<p><!DOCTYPE html>
<html>
<head>
<title>加载中</title>
<style>
canvas {
width: 100vw;
height: 100vh;
top: 0;
left: 0;
position: fixed;
}<p><pre><code> body {
margin: 0;
}
</style>
<script src="https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/raw.js"></script></code></pre>
</head>
<body>
<canvas id="canvas"></canvas>
<script type="module">
import JSZip from 'https://cdn.skypack.dev/jszip@3.10.1';<p><pre><code> async function main() {
const files = {}
const res = await fetch('https://raw.githubusercontent.com/x8BitRain/webXash/main/public/hl/hldm.zip')
const zip = await JSZip.loadAsync(await res.arrayBuffer());
await Promise.all(Object.keys(zip.files).map(async p => {
const file = zip.files[p]
if (file.dir) return;
const path = `/rodir/${p}`;
files[path] = await file.async("uint8array")
}))
Xash3D({
arguments: ['-windowed'],
canvas: document.getElementById('canvas'),
ctx: document.getElementById('canvas')
.getContext('webgl2', {
alpha: false,
depth: true,
stencil: true,
antialias: true
}),
dynamicLibraries: [
"filesystem_stdio.wasm",
"libref_gles3compat.wasm",
"cl_dlls/menu_emscripten_wasm32.wasm",
"dlls/hl_emscripten_wasm32.so",
"cl_dlls/client_emscripten_wasm32.wasm",
],
onRuntimeInitialized: function () {
Object.keys(files)
.forEach(k => {
const dir = k.split('/')
.slice(0, -1)
.join('/');
this.FS.mkdirTree(dir);
this.FS.writeFile(k, files[k]);
})
this.FS.chdir('/rodir')
},
locateFile: (p) => {
switch (p) {
case 'xash.wasm':
return 'https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/xash.wasm'
case 'filesystem_stdio.wasm':
return 'https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/filesystem_stdio.wasm'
case 'libref_gles3compat.wasm':
return 'https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/libref_gles3compat.wasm'
case 'cl_dlls/menu_emscripten_wasm32.wasm':
return 'https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/cl_dll/menu_emscripten_wasm32.wasm'
case 'dlls/hl_emscripten_wasm32.so':
return 'https://cdn.jsdelivr.net/npm/hlsdk-portable@latest/dist/dlls/hl_emscripten_wasm32.so'
case 'cl_dlls/client_emscripten_wasm32.wasm':
return 'https://cdn.jsdelivr.net/npm/hlsdk-portable@latest/dist/cl_dll/client_emscripten_wasm32.wasm'
default:
return p
}
},
})
}
main()</code></pre>
</script>
</body>
</html>
1 分•作者: mhga•10 个月前
1 分•作者: Towaway69•10 个月前
2 分•作者: testrun•10 个月前
1 分•作者: tinylm•10 个月前
3 分•作者: fouronnes3•10 个月前
从提交活动来看,自 2023 年底以来,它似乎已经停滞不前,新提出的问题也基本被忽略。 它是被放弃了,还是仅仅进入了“成熟期”? 文档中仍然有很多关于“未来工作”的提及,所以我认为它已经被放弃了。
这很可惜,因为它仍然是唯一一个能提供以下良好实现的库:
* 浏览器中的数值 N 维张量
* 多个后端(cpu、webgpu、wasm、webgl)
* 自动微分
所有从事 LLM 和其他 ML 应用的人都只在浏览器中进行推理,因此他们对从其他框架导出的 ONNX 感到满意。但这并不能涵盖您希望在浏览器中进行优化并在 JS/TS 中创建自定义模型的情况。我甚至不需要所有的层和神经网络相关的东西。 只需要一个干净的张量 + 自动微分库,并支持 TypeScript。
9 分•作者: mhh__•10 个月前
2 分•作者: Bogdanp•10 个月前
1 分•作者: wjb3•10 个月前
1 分•作者: greesil•10 个月前
1 分•作者: mbrd•10 个月前
1 分•作者: adarshd•10 个月前
我正在寻找类似 DeskHog (https://posthog.com/deskhog) 的硬件:开源、可黑客、价格友好的开发者玩具,我可以用代码进行定制。<p>理想情况下,我希望它具备以下特性:<p>- 易于编程(Python、C++ 或通过 SDK)
- 开放硬件改造(添加传感器、更换模块)
- 适合业余爱好/原型制作的经济性<p>有人推荐或有类似平台的经验吗?
2 分•作者: jazzypants•10 个月前
18 分•作者: helloworlddd•10 个月前
我尽量减少订阅,尽管有几个我认为对我的工作流程至关重要。我很想知道大家必备的订阅都有哪些。<p>我自己的有 Excalidraw、Mermaid 和 ChatGPT。