在 JavaScript 中操作 2d、3d 或 4d 数组对于 AI 模型训练和图像/音频/视频分析是必要的。
下面是一些使用纯 JavaScript 进行数组操作的有用函数,无需使用 Tensorflow.js 等矩阵包。
二维数组的转置
function transpose_2d_array(arr) { var transpose_colNum = arr.length; var transpose_rowNum = arr.at(0).length; var transpose_arr = []; for (var i=0; i<transpose_rowNum ; i++) { const col = Array.from({ length: transpose_colNum }, (_, i) => 0); transpose_arr.push(col); } for (var i=0; i<arr.length; i++) { for (var j=0; j<arr.at(i).length; j++) { transpose_arr[j][i] = arr[i][j]; } } return transpose_arr; }
打印数组的形状
async function recur_func(arr) { if (arr != undefined) { return [arr[0], arr.length]; } else { return arr; } } async function shape(arr) { var out = await recur_func(arr); var shap = [out[1]]; var c = 0; // typically work with 4D arrays or less while (out != undefined && c < 4) { out = await recur_func(out[0]); if (out != undefined) { shap.push(out[1]); } c = c + 1; } return shap.slice(0, shap.length-1); }
我希望这些数组实用函数对某人有所帮助。
快乐练习! ?
以上是JavaScript 数组操作的详细内容。更多信息请关注PHP中文网其他相关文章!