Logotipo de Zephyrnet

Las 30 mejores bibliotecas de Python que debes conocer en 2024

Fecha:

Tabla de contenidos.

Las bibliotecas Python son un conjunto de funciones útiles que eliminan la necesidad de escribir códigos desde cero. Hay más de 137,000 bibliotecas de Python presentes en la actualidad y desempeñan un papel vital en el desarrollo de aplicaciones de aprendizaje automático, ciencia de datos, visualización de datos, manipulación de imágenes y datos, y más. Presentemos brevemente el lenguaje de programación Python y luego profundicemos directamente en las bibliotecas de Python más populares.

¿Qué es una biblioteca?

Una biblioteca es una colección de códigos precombinados que se pueden usar de forma iterativa para reducir el tiempo necesario para codificar. Son particularmente útiles para acceder a los códigos preescritos de uso frecuente en lugar de escribirlos desde cero cada vez. Al igual que las bibliotecas físicas, son una colección de recursos reutilizables, lo que significa que cada biblioteca tiene una fuente raíz. Esta es la base detrás de las numerosas bibliotecas de código abierto disponibles en Python. 

¿Qué es Python Biblioteca?

Una biblioteca de Python es una colección de módulos y paquetes que ofrecen una amplia gama de funcionalidades. Estas bibliotecas permiten a los desarrolladores realizar diversas tareas sin tener que escribir código desde cero. Contienen código, clases, funciones y rutinas preescritos que se pueden utilizar para desarrollar aplicaciones, automatizar tareas, manipular datos, realizar cálculos matemáticos y más.

El extenso ecosistema de bibliotecas de Python cubre diversas áreas como desarrollo web (p. ej., Django, Flask), análisis de datos (p. ej., pandas, NumPy), aprendizaje automático (p. ej., TensorFlow, scikit-learn), procesamiento de imágenes (p. ej., Pillow, OpenCV ), informática científica (por ejemplo, SciPy) y muchos otros. Esta gran cantidad de bibliotecas contribuye significativamente a la popularidad de Python entre los desarrolladores, investigadores y científicos de datos, ya que simplifica el proceso de desarrollo e implementa de manera eficiente funciones complejas.

Comprobación rápidaFundamentos de Python

Lista de las 30 principales bibliotecas de Python

Rango Biblioteca Caso de uso principal
1 NumPy Computación científica
2 pandas Análisis de Datos
3 matplotlib Visualización de datos
4 Ciencia Computación científica
5 Scikit-learn Aprendizaje automático (Machine learning & LLM)
6 TensorFlow Aprendizaje automático/IA
7 Keras Aprendizaje automático/IA
8 PyTorch Aprendizaje automático/IA
9 Frasco Web
10 Django Web
11 Solicitudes HTTP para humanos
12 BeautifulSoup Raspado web
13 Selenio Pruebas web/Automatización
14 Pygame Desarrollo de juegos
15 SymPy Matemáticas simbólicas
16 Almohada Procesamiento de imágenes
17 SQLAlchemy Acceso a la base de datos
18 Plotly Visualización interactiva
19 Dash Aplicaciones web
20 Jupyter Computación interactiva
21 FastAPI API web
22 PySpark Procesamiento de Big Data
23 NLTK Procesamiento natural del lenguaje
24 spacy Procesamiento natural del lenguaje
25 Tornado Web
26 iluminado Aplicaciones de datos
27 Bokeh Visualización de datos
28 Prueba de Py Marco de prueba
29 Apio Cola de tareas
30 gunicornio Servidor HTTP WSGI

Esta tabla incluye bibliotecas esenciales para científicos de datos, desarrolladores web e ingenieros de software que trabajan con Python. Cada biblioteca tiene sus propias fortalezas y se elige para tareas específicas, desde marcos de desarrollo web como Django y Flask hasta bibliotecas de aprendizaje automático como TensorFlow y PyTorch y herramientas de visualización y análisis de datos como Pandas y Matplotlib.

1. Scikit- aprender

Es un software gratis máquina de aprendizaje Biblioteca para el lenguaje de programación Python. Se puede utilizar de forma eficaz para una variedad de aplicaciones que incluyen clasificación, regresión, agrupación, selección de modelos, Bayes ingenuo, aumento de calificaciones, K-medias y preprocesamiento.
Scikit-learn requiere:

  • Pitón (>= 2.7 o >= 3.3),
  • NúmPy (>= 1.8.2),
  • SciPy (>= 0.13.3).

Spotify utiliza Scikit-learn para sus recomendaciones musicales y Evernote para crear sus clasificadores. Si ya tiene una instalación funcional de NumPy y scipy, la forma más sencilla de instalar scikit-learn es mediante pepita.

2. NuPIC

La plataforma Numenta para computación inteligente (NuPIC) es una plataforma que tiene como objetivo implementar un algoritmo de aprendizaje HTM y convertirlo también en una fuente pública. Es la base para futuros algoritmos de aprendizaje automático basados ​​en la biología de la neocorteza. Hacer clic esta página para comprobar su código en GitHub.

3. Rampa

Es una biblioteca de Python que se utiliza para la creación rápida de prototipos de modelos de aprendizaje automático. Rampa proporciona una sintaxis declarativa simple para explorar características, algoritmos y transformaciones. Es un marco de aprendizaje automático ligero basado en pandas y se puede usar sin problemas con las herramientas estadísticas y de aprendizaje automático de Python existentes.

4. Número

Cuando se trata de computación científica, NumPy es uno de los paquetes fundamentales para Python, que brinda soporte para grandes matrices y arreglos multidimensionales junto con una colección de funciones matemáticas de alto nivel para ejecutar estas funciones rápidamente. NumPy se basa en BLAS y LAPACK para cálculos eficientes de álgebra lineal. NumPy también se puede utilizar como un contenedor multidimensional eficiente de datos genéricos.

Los diversos paquetes de instalación de NumPy se pueden encontrar haga clic aquí

5. Tubería

El herramienta recomendada oficialmente para Python en 2017 – Pipenv es una herramienta lista para producción que tiene como objetivo traer lo mejor de todos los mundos de empaquetado al mundo de Python. El objetivo fundamental es proporcionar a los usuarios un entorno de trabajo que sea fácil de configurar. Pipenv, el "flujo de trabajo de desarrollo de Python para humanos", fue creado por Kenneth Reitz para gestionar las discrepancias de paquetes. Las instrucciones para instalar Pipenv se pueden encontrar esta página.

6. Flujo de tensor

El marco de aprendizaje profundo más popular de TensorFlow es una biblioteca de software de código abierto para cálculo numérico de alto rendimiento. Es una biblioteca matemática icónica y también se utiliza para Python en algoritmos de aprendizaje automático y aprendizaje profundo. Tensorflow fue desarrollado por investigadores del equipo Google Brain dentro de la organización Google AI. Hoy en día, lo utilizan investigadores para algoritmos de aprendizaje automático y físicos para cálculos matemáticos complejos. Los siguientes sistemas operativos son compatibles con TensorFlow: macOS 10.12.6 (Sierra) o posterior; Ubuntu 16.04 o posterior; Windows 7 o superior; Raspbian 9.0 o posterior.

Echa un vistazo a nuestro Curso Gratis de Tensorflow y Keras y Python TensorFlow. Este curso le presentará estos dos marcos y también lo guiará a través de una demostración de cómo usar estos marcos.

7. Chelín

Desarrollado en el Instituto de Investigación Idiap en Suiza, Chelín es una caja de herramientas gratuita de procesamiento de señales y aprendizaje automático. La caja de herramientas está escrita en una mezcla de Python y C++. Desde el reconocimiento de imágenes hasta el procesamiento de imágenes y videos usando algoritmos de aprendizaje automático, Bob tiene disponible una gran cantidad de paquetes para hacer que todo esto suceda con gran eficiencia en poco tiempo.

8. PyTorch

Introducido por Facebook en 2017, PyTorch es un paquete de Python que brinda al usuario una combinación de 2 funciones de alto nivel: cálculo de tensor (como NumPy) con fuerte aceleración de GPU y el desarrollo de redes neuronales profundas en un sistema de diferenciación automática basado en cinta. PyTorch proporciona una gran plataforma para ejecutar modelos de aprendizaje profundo con mayor flexibilidad y velocidad, construida para integrarse profundamente con Python.

¿Quiere empezar con PyTorch? Mira estos Cursos de PyTorch para ayudarle a comenzar rápida y fácilmente.

9. PyBrain

PyBrain contiene algoritmos para redes neuronales que pueden ser utilizados por estudiantes de nivel inicial pero que pueden usarse para investigaciones de vanguardia. El objetivo es ofrecer algoritmos simples, flexibles pero sofisticados y potentes para el aprendizaje automático con muchos entornos predeterminados para probar y comparar sus algoritmos. Investigadores, estudiantes, desarrolladores, profesores, usted y yo podemos usar PyBrain.

10. LECHE

Este kit de herramientas de aprendizaje automático en Python se centra en la clasificación supervisada con una gama de clasificadores disponibles: SVM, k-NN, bosques aleatorios y árboles de decisión. Una gama de combinaciones de estos clasificadores da diferentes sistemas de clasificación. Para el aprendizaje no supervisado, se puede utilizar el agrupamiento de k-medias y la propagación de afinidad. Hay un fuerte énfasis en la velocidad y el bajo uso de memoria. Por lo tanto, la mayor parte del código sensible al rendimiento está en C++. Leer más al respecto haga clic aquí

11. Kerás

Es una biblioteca de redes neuronales de código abierto escrita en Python diseñada para permitir la experimentación rápida con redes neuronales profundas. Con el aprendizaje profundo volviéndose omnipresente, Keras se convierte en la opción ideal ya que es una API diseñada para humanos y no para máquinas, según los creadores. Con más de 200,000 usuarios en noviembre de 2017, Keras tiene una adopción más sólida tanto en la industria como en la comunidad de investigación, incluso sobre TensorFlow o Theano. Antes de instalar Keras, se recomienda instalar el motor backend de TensorFlow.

12. guión

Desde la exploración de datos hasta el seguimiento de sus experimentos, Dash es como la interfaz del backend analítico de Python. Este productivo marco de Python es ideal para aplicaciones de visualización de datos, especialmente adecuadas para todos los usuarios de Python. La facilidad que experimentamos es el resultado de un esfuerzo extenso y exhaustivo.

13. pandas

Es una biblioteca de código abierto con licencia BSD. Pandas permite proporcionar una estructura de datos sencilla y un análisis de datos más rápido para Python. Para operaciones como análisis y modelado de datos, Pandas permite llevarlas a cabo sin necesidad de cambiar a un lenguaje más específico de dominio como R. La mejor manera de instalar Pandas es mediante Instalación Conda.

14. Espiar

Este es otro software de código abierto utilizado para la computación científica en Python. Aparte de eso, Scipy también se usa para computación de datos, productividad, computación de alto rendimiento y control de calidad. Los diversos paquetes de instalación se pueden encontrar esta página. El núcleo scipy Los paquetes son Numpy, la biblioteca SciPy, Matplotlib, IPython, Sympy y Pandas.

15. matplotlib

Todas las bibliotecas que hemos analizado son capaces de realizar una gama de operaciones numéricas, pero cuando se trata de trazado dimensional, Matplotlib se roba el show. Esta biblioteca de código abierto en Python se usa ampliamente para publicar figuras de calidad en varios formatos impresos y entornos interactivos en todas las plataformas. Puede diseñar cuadros, gráficas, gráficos circulares, diagramas de dispersión, histogramas, gráficos de error, etc., con solo unas pocas líneas de código.

Los diversos paquetes de instalación se pueden encontrar haga clic aquí

16. Teano

Esta biblioteca de código abierto le permite definir, optimizar y evaluar de manera eficiente expresiones matemáticas que involucran matrices multidimensionales.. Para un volumen enorme de datos, los códigos C hechos a mano se vuelven más lentos. Theano permite implementaciones rápidas de código. Theano puede reconocer expresiones inestables y aun así calcularlas con algoritmos estables, lo que proporciona tiene ventaja sobre NumPy. El paquete Python más cercano a Theano es Sympy. Así que hablemos de ello.

17. SymPy

Para todas las matemáticas simbólicas, SymPy es la respuesta. Esta biblioteca de Python para matemáticas simbólicas es una ayuda eficaz para los sistemas de álgebra informática (CAS) y, al mismo tiempo, mantiene el código lo más simple posible para que sea comprensible y fácilmente extensible. SimPy está escrito únicamente en Python y puede integrarse en otras aplicaciones y ampliarse con funciones personalizadas. Puedes encontrar el código fuente en GitHub. 

18. Café2

El nuevo chico de la ciudad: Caffe2, es un marco de aprendizaje profundo ligero, modular y escalable. Su objetivo es proporcionarle una manera fácil y sencilla de experimentar con el aprendizaje profundo. Gracias a las API de Python y C++ en Caffe2, podemos crear nuestro prototipo ahora y optimizarlo más tarde. Puedes empezar con Caffe2 ahora con este paso a paso guía de instalación.

19. Marítimo

Cuando se trata de la visualización de modelos estadísticos como mapas de calor, Seaborn se encuentra entre las fuentes confiables. Esta biblioteca de Python se deriva de Matplotlib y está estrechamente integrada con las estructuras de datos de Pandas. Visita el página de instalación para ver cómo se puede instalar este paquete.

20. Hebel

Esta biblioteca de Python es una herramienta para el aprendizaje profundo con redes neuronales que utilizan la aceleración de GPU con CUDA a través de pyCUDA. En este momento, Hebel implementa redes neuronales de avance para clasificación y regresión en una o varias tareas. Otros modelos, como Autoencoder, redes neuronales convolucionales y máquinas de Boltzman restringidas, están planificados para el futuro. Siga el liga para explorar Hebel.

21. Encadenador

Un competidor de Hebel, este paquete de Python tiene como objetivo aumentar la flexibilidad de los modelos de aprendizaje profundo. Las tres áreas clave de enfoque de Chainer incluyen:
una. Sistema de transporte: Los fabricantes de Chainer han mostrado constantemente una inclinación hacia los coches con conducción automática y han estado en conversaciones con Toyota Motors sobre lo mismo.

b. Industria manufacturera: Chainer se ha utilizado eficazmente para robótica y varias herramientas de aprendizaje automático. Desde el reconocimiento de objetos hasta la optimización.

C. Atención biosanitaria: Para hacer frente a la gravedad del cáncer, los creadores de Chainer han invertido en la investigación de varias imágenes médicas para el diagnóstico precoz de células cancerosas.
La instalación, proyectos y otros detalles se pueden encontrar aquí.
Así que aquí hay una lista de las bibliotecas comunes de Python a las que vale la pena echarle un vistazo y, si es posible, familiarizarse con ellas. Si cree que hay alguna biblioteca que merece estar en la lista, No olvides mencionarlo en los comentarios.

22. OpenCVPython

Visión artificial de código abierto o OpenCV Se utiliza para el procesamiento de imágenes. Es un paquete de Python que monitorea funciones generales enfocadas en la visión instantánea por computadora. OpenCV proporciona varias funciones incorporadas; Con la ayuda de esto, puedes aprender Visión por Computadora. Permite leer y escribir imágenes al mismo tiempo. Objetos como caras, árboles, etc., se pueden diagnosticar en cualquier vídeo o imagen. Es compatible con Windows, OS-X y otros sistemas operativos. Puedes conseguirlo esta página

Para aprender OpenCV desde lo básico, consulte el Tutorial de OpenCV

23. Teano

Además de ser una biblioteca de Python, Theano también es un compilador de optimización. Se utiliza para analizar, describir y optimizar diferentes declaraciones matemáticas al mismo tiempo. Hace uso de matrices multidimensionales, lo que garantiza que no tengamos que preocuparnos por la perfección de nuestros proyectos. Theano funciona bien con GPU y tiene una interfaz bastante similar a Numpy. La biblioteca hace que el cálculo sea 140 veces más rápido y se puede usar para detectar y analizar cualquier error dañino. Puedes conseguirlo esta página

24. NLTK

El Natural Language Toolkit, NLTK, es una de las bibliotecas PNL de Python más populares. Contiene un conjunto de bibliotecas de procesamiento que brindan soluciones de procesamiento para el procesamiento de lenguaje numérico y simbólico solo en inglés. El kit de herramientas viene con un foro de discusión dinámico que le permite discutir y plantear cualquier tema relacionado con NLTK.

25. Alquimia SQL

SQLAcademy es una biblioteca de abstracción de base de datos para Python que viene con un soporte asombroso para una variedad de bases de datos y diseños. Proporciona patrones consistentes, es fácil de entender y también puede ser utilizado por principiantes. Mejora la velocidad de comunicación entre el lenguaje Python y las bases de datos y es compatible con la mayoría de las plataformas, como Python 2.5, Jython y Pypy. Con SQLAcademy, puede desarrollar esquemas de bases de datos desde cero.

26. bokeh

Bokeh, una biblioteca de visualización de datos para Python, permite la visualización interactiva. Utiliza HTML y Javascript para proporcionar gráficos, lo que lo hace confiable para contribuir con aplicaciones basadas en web. Es muy flexible y le permite convertir visualizaciones escritas en otras bibliotecas como ggplot o matplot lib. Bokeh utiliza comandos sencillos para crear escenarios estadísticos compuestos.

27. Solicitudes

Solicitudes le permite enviar solicitudes HTTP/1.1 e incluir encabezados, datos de formulario, archivos de varias partes y parámetros utilizando diccionarios básicos de Python.
Del mismo modo, también le permite recuperar los datos de las respuestas.

28. cochinillo

Pyglet está diseñado para crear juegos y otras aplicaciones visualmente atractivos. Se admiten ventanas, procesamiento de eventos de interfaz de usuario, joysticks, gráficos OpenGL, carga de imágenes y películas y reproducción de sonidos y música. Linux, OS X y Windows son compatibles con Pyglet.

29. LuzGBM

Una de las mejores y más conocidas bibliotecas de aprendizaje automático, el aumento de gradiente, ayuda a los programadores a crear nuevos algoritmos mediante el uso de árboles de decisión y otros modelos básicos reformulados. Como resultado, se pueden utilizar bibliotecas especializadas para implementar este método de forma rápida y eficaz.

30. Eli5

La biblioteca de aprendizaje automático Eli5 construida en Python ayuda a abordar el problema de las predicciones de modelos de aprendizaje automático que frecuentemente son inexactas. Combina visualización, depuración de todos los modelos de aprendizaje automático y seguimiento de todos los procesos de trabajo algorítmicos.

[Contenido incrustado]

Bibliotecas de Python importantes para la ciencia de datos

Contribuido por: Shveta Rajpal
Perfil de Linkedin: https://www.linkedin.com/in/shveta-rajpal-0030b59b/

Aquí hay una lista de bibliotecas de Python interesantes e importantes que serán útiles para todos los científicos de datos. Entonces, comencemos con las 20 bibliotecas más importantes utilizadas en Python.

Scrapy- Es un marco colaborativo para extraer los datos necesarios de los sitios web. Es una herramienta bastante sencilla y rápida.

hermosasopa- Esta es otra biblioteca popular que se usa en Python para extraer o recopilar información de sitios web, es decir, se usa para web scraping.

modelos de estadísticas- Como sugiere el nombre, Statsmodels es una biblioteca de Python que brinda muchas oportunidades, como análisis y estimación de modelos estadísticos, realización de pruebas estadísticas, etc. Tiene una función para el análisis estadístico para lograr resultados de alto rendimiento mientras procesa grandes conjuntos de datos estadísticos.

XGBoost- Esta biblioteca se implementa en algoritmos de aprendizaje automático bajo el marco Gradient Boosting. Proporciona una implementación de alto rendimiento de árboles de decisión potenciados por gradientes. XGBoost es portátil, flexible y eficiente. Proporciona implementaciones altamente optimizadas, escalables y rápidas de aumento de gradiente.

plotly-Esta biblioteca se utiliza para trazar gráficos fácilmente. Esto funciona muy bien en aplicaciones web interactivas. Con esto, podemos crear diferentes tipos de gráficos básicos como gráficos lineales, circulares, de dispersión, mapas de calor, gráficos polares, etc. Podemos trazar fácilmente un gráfico de cualquier visualización que se nos ocurra usar. Plotly.

Pydot- Pydot se utiliza para generar gráficos orientados y no orientados complejos. Se utiliza especialmente en el desarrollo de algoritmos basados ​​en redes neuronales y árboles de decisión.

Gensim- Es una biblioteca de Python para modelado de temas e indexación de documentos, lo que significa que puede extraer los temas subyacentes de un gran volumen de texto. Puede manejar archivos de texto grandes sin cargar el archivo completo en la memoria.

PyOD- Como sugiere el nombre, es un conjunto de herramientas de Python para detección de valores atípicos en datos multivariados. Proporciona acceso a una amplia gama de algoritmos de detección de valores atípicos. La detección de valores atípicos, también conocida como detección de anomalías, se refiere a la identificación de elementos, eventos u observaciones raros que difieren de la distribución general de una población.

Esto nos lleva al final del blog sobre las principales bibliotecas de Python. Esperamos que usted se beneficie de lo mismo. Si tiene más consultas, no dude en dejarlas en los comentarios a continuación y nos comunicaremos con usted lo antes posible.

La ruta a continuación lo guiará para convertirse en un científico de datos competente.

Preguntas frecuentes sobre las bibliotecas de Python

¿Qué son las bibliotecas de Python?

Las bibliotecas de Python son una colección de módulos relacionados que contienen paquetes de códigos que se pueden usar en diferentes programas. El uso de bibliotecas de Python lo hace conveniente para el programador, ya que no tendría que escribir el mismo código varias veces para diferentes programas. Algunas bibliotecas comunes son OpenCV, Apache Spark, TensorFlow, NumPy, etc.

¿Cuántas bibliotecas hay en Python?

Hay más de 137,000 bibliotecas de Python disponibles en la actualidad. Estas bibliotecas pueden resultar útiles para crear aplicaciones de aprendizaje automático, ciencia de datos, manipulación de datos, visualización de datos, etc. 

¿Qué biblioteca es la más utilizada en Python?

Numpy es la biblioteca más utilizada y popular en Python.

¿Dónde están las bibliotecas en Python?

Python y todos los paquetes de Python se almacenan en /usr/local/bin/ si es un sistema basado en Unix y Archivos de programa si es Windows.

¿NumPy es un módulo o una biblioteca?

NumPy es una biblioteca.

¿Es pandas una biblioteca o un paquete?

Pandas es una biblioteca que se utiliza para analizar datos.

¿Qué es la biblioteca Sklearn en Python?

La biblioteca Python más práctica para el aprendizaje automático es definitivamente scikit-learn. En la biblioteca sklearn se encuentran disponibles numerosos métodos eficaces de aprendizaje automático y modelado estadístico, como clasificación, regresión, agrupamiento y reducción de dimensionalidad.

¿Qué son NumPy y pandas?

Un paquete de Python llamado NumPy ofrece soporte para matrices y arreglos multidimensionales enormes, así como una cantidad considerable de operaciones matemáticas sofisticadas que se pueden realizar en estos arreglos. Una sofisticada herramienta de manipulación de datos basada en la biblioteca NumPy se llama Pandas.

¿Puedo aprender Python en 3 días?

Aunque no puedes convertirte en un experto, puedes aprender los conceptos básicos de Python en 3 días, como la sintaxis, los bucles y las variables. Una vez que conozca los conceptos básicos, podrá aprender sobre las bibliotecas y utilizarlas según su conveniencia. Sin embargo, esto depende de cuántas horas dediques a aprender el lenguaje de programación y de tus propias habilidades de aprendizaje individuales. Esto puede variar de una persona a otra. 

¿Puedo aprender Python en 3 semanas?

La rapidez con la que aprende Python depende de varios factores, como la cantidad de horas dedicadas. Sí, puedes aprender los conceptos básicos de Python en 3 semanas y trabajar para convertirte en un experto en el lenguaje. 

¿Python es suficiente para conseguir un trabajo?

Sí, Python es uno de los lenguajes de programación más utilizados del mundo. Las personas con habilidades en Python tienen una gran demanda y definitivamente ayudarán a conseguir un trabajo bien pagado.

¿Cuánto gana un desarrollador de Python?

Los desarrolladores de Python tienen una gran demanda y un profesional de nivel medio ganaría un promedio de ₹ 909,818 1,150,000, y alguien que sea un profesional experimentado puede ganar cerca de ₹ XNUMX XNUMX XNUMX.

Seguí leyendo

  1. ¿Qué es TensorFlow? Explicación de la biblioteca de aprendizaje automático
  2. Scikit Learn en aprendizaje automático, definición y ejemplo
  3. Tutorial de aprendizaje automático para principiantes completos | Aprenda el aprendizaje automático con Python
  4. Tutorial de ciencia de datos para principiantes | Aprenda el tutorial completo de ciencia de datos
  5. Tutorial de Python para principiantes: una guía completa | Aprende Python Fácilmente
punto_img

Información más reciente

punto_img