Articles of optimization

scipy.optimize.minimize realizar un seguimiento de la función objective

Estoy trabajando con scipy.optimize.minimize , y estoy optimizando 3 parámetros con una función como esta def foo(A, x, y, z): test = my_function(A[0], A[1], A[2], x, y, z) return test En esta respuesta, encontré algunas ideas: ¿Cómo mostrar el progreso de la función scipy.optimize? Entonces se me ocurrió esta función: def callbackF(Xi, x, y, z) […]

Comparando Python, Numpy, Numba y C ++ para la multiplicación de matrices

En un progtwig en el que estoy trabajando, necesito multiplicar dos matrices repetidamente. Debido al tamaño de una de las matrices, esta operación toma algún tiempo y quería ver qué método sería el más eficiente. Las matrices tienen dimensiones (mxn)*(nxp) donde m = n = 3 y 10^5 < p < 10^6 . Con la […]

Dile a scipy.optimize.minimize que falle

Estoy usando scipy.optimize.minimize para la optimización sin restricciones de una función objective que recibe un par de parámetros y ejecuta una simulación numérica compleja basada en estos parámetros. Esta simulación no siempre converge, en cuyo caso hago que la función objective devuelva inf, en algunos casos, en otros NaN. Pensé que este truco evitaría que […]

¿Hay una manera más rápida de agregar dos matrices numpy 2-d

Digamos que tengo dos matrices numpy 2-d grandes de las mismas dimensiones (digamos 2000×2000). Quiero sumrlos a los elementos. Me preguntaba si hay una forma más rápida que np.add () Edición: estoy agregando un ejemplo similar de lo que estoy usando ahora. ¿Hay una manera de acelerar esto? #a and b are the two matrices […]

Rápido (er) numpy ¿Fancy indexación y reducción?

Estoy tratando de usar y acelerar la indexación de fantasía para “unir” dos matrices y sumr uno de los ejes de los resultados. Algo como esto: $ ipython In [1]: import numpy as np In [2]: ne, ds = 12, 6 In [3]: i = np.random.randn(ne, ds).astype(‘float32’) In [4]: t = np.random.randint(0, ds, size=(1e5, ne)).astype(‘uint8’) […]

Cómo crear un optimizador en Tensorflow

Quiero escribir un nuevo algoritmo de optimización para mi red en Tensorflow. Espero implementar el algoritmo de optimización Levenberg Marquardt , que ahora está excluido de la API de TF. Encontré poca documentación sobre cómo escribir un optimizador personalizado, así que pregunto si alguien puede darme algún consejo. Gracias.

Optimización del portafolio SciPy con restricciones a nivel de la industria

Intento optimizar una asignación de ponderación de cartera aquí que maximice mi función de retorno al limitar el riesgo. No tengo ningún problema para encontrar el peso optimizado que rinde a mi función de devolución por la simple restricción de que la sum de todo el peso es igual a 1, y hacer que la […]

Python App Engine webapp2 lento para enrutar

Tengo una aplicación de Python App Engine que sirve aproximadamente 3M solicitudes por día. Estoy tratando de optimizar la aplicación para guardar en mi factura de hospedaje ridículamente incrementada. November, App Engine Frontend Instances: 12924.391 Hours, $604.22 Tengo la solicitud dirigida a algunas llamadas memcached, pero ahora me he dado cuenta de que generalmente toma […]

La forma más rápida de realizar un ciclo a la izquierda de una matriz numpy (como pop, push para una cola)

Con matrices numpy, quiero realizar esta operación: mueva x[1],…,x[n-1] a x[0],…,x[n-2] (desplazamiento a la izquierda), escriba un nuevo valor en el último índice: x[n-1] = newvalue . Esto es similar a un pop() , push(newvalue) para una cola de primero en push(newvalue) último (solo invertido). Una implementación ingenua es: x[:-1] = x[1:]; x[-1] = newvalue […]

Encontrar todos los divisores de una optimización numérica.

He escrito la siguiente función que encuentra todos los divisores de un número natural dado y los devuelve como una lista: def FindAllDivisors(x): divList = [] y = 1 while y <= math.sqrt(x): if x % y == 0: divList.append(y) divList.append(int(x / y)) y += 1 return divList Funciona realmente bien con la excepción de […]