#960 pa hacerse er xulooo
#960 optimización de blindaje contra fotones y neutrones, y ahora estoy con optimizacion en codigos de sistemas.
#966Unrack:Pato, en cuanto a lo último que comentas no lo he entendido muy bien. Tienes algún paper a mano?
No tengo papers a mano, la verdad.
Structural Pattern Matching
https://www.python.org/dev/peps/pep-0622/
https://www.mail-archive.com/[email protected]/msg108627.html
Muy interesante.
buenas,
necesito una ayuda a nivel de entendimiento... Quiero meter python en un docker... vale la imagen y tal la tengo claro pero una vez metida como hago uso de ella... Me meto por la consola de docker para usarla la siempre o como... ya os digo que es algo de entendimiento puro y duro de como usar la imagen
Mi idea es tener una imagen con python meterle toda la mierda que quiera probar y si me toca los huevos la borro y a empezar de nuevo...
#969 mete una imagen de python, creas un volumen a un directorio donde tengas tus proyectos, workdir sobre esa ruta y ejecutas como comando en el dockerfile un while true sleep 1.
Así tienes siempre ese contenedor en ejecución y puedes enguarrar todo lo que quieras
#970 O soy yo, ho hemos entendido distinto lo que pregunta #969 ...
Creas el Docker compose o el docker file de la imagen de Python con un montado de directorio de trabajo. Ahí van tus codigos. La imagen la acceder por ssh 22 normal y corriente en el linux que haya ahí (Alpine seguramente) y a correr. Y luego esto: https://www.jetbrains.com/help/pycharm/using-docker-as-a-remote-interpreter.html
#969Isengard:Mi idea es tener una imagen con python meterle toda la mierda que quiera probar y si me toca los huevos la borro y a empezar de nuevo...
Para eso tienes los entornos virtuales, no necesitas Docker. Vamos, el poetry
que tanto he citado por aquí.
Acabo de hacer mis primeras manitas con gis para echarle un cable a mi chica con su tesis.
He parseado de la web del miteco todos los grupos y de cada grupo todas las especies invasoras en España. Además de parsear los pdfs de cada especie e integrarlos en un excel, he descargado todos los archivos de mapeado GIS para cada especie, que indica dónde esa se encuentra. Luego he integrado todas las especies en un único mapa y de ahí hemos sacado las especies restringidas a la cuenca mediterránea española.
Datos procesados, por si os interesa:
- Especies invasoras en España totales 190 en 11 grupos
- Especies invasoras en España con información cartográfica 117 en 10 grupos
- Especies invasoras en España con información cartográfica en el mediterráneo español 101 en 10 grupos
Cómo mola, la verdad. Pensar que lo que me ha llevado unas horas automatizar y calcular podría haber llevado semanas... sienta bien. Además, está preparando una review sobre el estado del arte para su tesis, y esta info destilada le viene guay D:
#974 ya ves. También es la primera vez que trasteo con un parser pdf. Qué difíciles son de manejar, no me extraña que los ereaders lo tengan jodido.
Ah, y haciendo todo esto, he encontrado unos cuantos errores en el MITECO, de coherencia o formato, o estandarización. Incluso un link a un archivo GIS que enlaza a un pdf equivocadamente xD
#976 Yo veo bien que use docker ya que, el funcionamiento va a ser prácticamente el mismo cuando lo haga con otro lenguaje además, lo único que tiene que hacer cuando quiera testear cosillas es levantar el container y ya está.
Gracias por las respuestas... voy a echarle un vistazo a poetry a ver si me vale que imagino que sí. Si es que mi problema, por desconocimiento, es que me pongo a trastear con python y tal y la lía con las versiones y demás y dejo el linux echo mierda... por eso veía más factible lo del docker y a volar.
#977 pues si, así curro yo con windows. Wsl2 como backend para docker y el win impoluto sin guarrerias ni nada xD
#980 qué va, me va super super rápido. Y fijate que estoy compilando aplicaciones C++ y Qt un poco tochas xD
Además uso vcxsrv y las ventanas de las aplicaciones con gui corriendo sobre wsl se ven en Windows y tienen un rendimiento perfecto.
Es brutal xD
#983 He leido lo contrario, me mantengo en wsl1 que puse el otro dia de momento el cual me fue perfecto, gracias por la sugerencia @ .
https://news.ycombinator.com/item?id=22873722
https://news.ycombinator.com/item?id=23090143
Duda tecnica sobre Numpy
Me ha dicho alguien que numpy internamente paraleliza tu codigo utilizando el maximo numero de thrads disponibles de la maquina. Operaciones de for, busqueda, transformaciones.... Es esto cierto? Hay alguna operacion en que sea cierto? Estoy googleando al respeto mis compa;eros me dicen que no es asi. (Edito: a ver para transformaciones que le pasas una funcion por parametro esto si que es casi seguro, pero estoy buscando mas info y no encuentro)
Otra duda, tambien me han dicho que en numpy al realizar busquedas se hacen algoritmos de optimizacion como branch and bound para encontrar rapido los elementos (esto tambien se usaria para iterar, transformar...) es esto cierto?
#984 Siempre he entendido que el gran truco de numpy era que los arrays los guardaba de forma contigua y homogenea en memoria principal, además de los metadatos. Esto mola porque vas a llenar tus caches de datos asociados a tu computación, por lo que reduces muchisimo las latencias (y energia, ojo). Además, de la localidad espacial, tienes unas instrucciones vectoriales preciosas (SIMD) que de esta forma se aprovechan muy bien.
Luego se que hay operaciones que usan por debajo multithreaded BLAS/MKL, pero no creo que sea lo habitual.
#989 Si la velocidad de numpy es debido a lo que dices lo conozco. No se hasta que punto numpy que hace en C y que en Python. Pero estos temas de eficiencia seguro que son C para controlar las alocaciones e iterar con punteros (imagino) modificar memoria con los punteros sin dereferenciar y operaciones de ese estilo. Imagino que el objetivo es todo esto no lo he mirado. No se como entra el SIMD en esto, me suena que lei que no hace falta hacer nada a nivel de developer para que la CPU+compilador te optimicen todo.
Clarifico mi duda viene que he hecho un prototipado de un algoritmo y lo he hecho a python a pelo todo. Haciendo algunas transformaciones de numpy también a mano porque no me se numpy de memoria ni otras librerías y era algo sencillo. He re implementado rasterio, mascaras, cropeado y otra libreria de poligonos bàsicament... Asi tengo el prototipo y despues es implementar la libreria para que sea eficiente.
Y hoy he estado mirando las librerias de rasterio a ver como implementan lo que he hecho de manera eficiente y lo hacen practicamente igual... utilizan las mismas ideas y operaciones. La he clavado bastante. xd Y de hecho todo es python y la clave esta en usar numpy por debajo...
Entonces entiendo que la única diferencia (amortizada) con mi código es el tema de numpy de lo que comentas para las iteraciones.
Y esta diferencia con mi codigo seria esta optimizacion y luego el tema del paralelismo... No se si alguien sabe algo.
Espero que se haya entendido, gracias por tu coment, si tengo un rato para mirarme numpy lo mirare por curiosidad... porque hoy ya he visto que mi codigo y el de rasterio se puede decir que es equivalente.
Obviamente he recibido comentarios por re inventar la rueda... Y por eso esto picado con el tema. Pero aclaro que pasar mi codigo de python a rasterio (que se podria usar numpy directamente) ha sido unas horas (20 lineas de codigo).
Edit: vaya tochopost @Jastro si quieres mueve el hilo a parte porque hablamos de implementacion interna de librerias.