Disculpe por el título confuso, pero no estoy seguro de cómo hacerlo más conciso. Aquí están mis requisitos: arr1 = np.array([3,5,9,1]) arr2 = ?(arr1) Entonces, arr2 sería: [ [0,1,2,0,0,0,0,0,0], [0,1,2,3,4,0,0,0,0], [0,1,2,3,4,5,6,7,8], [0,0,0,0,0,0,0,0,0] ] No necesita variar según el máximo, la forma se conoce de antemano. Entonces, para comenzar, he podido . . . Read more
He escrito la siguiente función: asteriks = function(pvalue){ if(pvalue > 0.05){ output = “NS” }else if (pvalue <= 0.05 && pvalue > 0.01){ output = “*” }else if (pvalue <= 0.01 && pvalue > 0.001){ output = “**” }else if (pvalue <= 0.001 && pvalue > 0.0001){ output = “***” . . . Read more
Tengo los siguientes vectores: forma u_w: (50,) forma Vt: (6, 50) forma v: (50,) y con ellos realizo los siguientes cálculos: w = np.tanh(u_w + Vt[0]) w_squared = w ** 2 z = np.dot(v, w) s = sigmoid(np.dot(v, w)) J = -np.log(sigmoid(z)) dv = np.dot(sigmoid(z) – 1, w) du_w = . . . Read more
Estoy tratando de entender algunos conceptos básicos sobre cómo vectorizar mi código para mejorar su rendimiento. Pregunta: Con “-O0” intenté utilizar la directiva OpenMP SIMD de la siguiente manera: struct aligned_free { inline void operator()(double* ptr) { if (ptr != nullptr) { std::free(ptr); } } }; using unique_ptr_aligned_double = std::unique_ptr<double, . . . Read more
Ya conozco la convolución y lo he hecho. Sin embargo, he escuchado que puede ser aún más rápido. Ejemplo de datos: 0 2 1 1 2 0 3 0 4 2 5 2 6 1 7 4 8 2 9 3 Salida: 0 NaN 1 NaN 2 NaN 3 NaN . . . Read more