VQNet: SDK de Machine Learning Cuántico

Desarrollado por Origin Quantum, VQNet permite construir y entrenar tanto modelos clásicos como cuánticos, facilitando una simulación eficiente de redes neuronales.

Primeros pasos con VQNet ->

Introducción

VQNet permite la construcción y el entrenamiento de modelos de machine learning tanto cuánticos como clásicos. Al integrar módulos de computación cuántica nativos, facilita el entrenamiento y la simulación eficiente de redes neuronales cuánticas.

Además, incorpora el módulo QPanda, lo que permite entrenar y ejecutar inferencias en ordenadores cuánticos reales. La sección de documentación incluye una amplia biblioteca de ejemplos prácticos, desde clasificadores cuánticos variacionales hasta modelos de redes neuronales híbridas (cuánticas-clásicas), arquitecturas U-Net y algoritmos de aprendizaje no supervisado como el clustering cuántico.

Características principales

Compatibilidad multiplataforma y soporte multi-entorno

Compatibilidad multiplataforma y soporte multi-entorno

VQNet facilita la investigación y el desarrollo de machine learning cuántico en diversos entornos de hardware y sistemas operativos. Ofrece un soporte fluido, tanto si utilizas CPU o GPU para simular computación cuántica como si accedes a chips cuánticos reales a través de Origin Quantum Cloud Service. Actualmente, es compatible con las versiones de Python 3.9, 3.10 y 3.11 en sistemas Windows, Linux y macOS.

Diseño de interfaz intuitivo y facilidad de uso

Diseño de interfaz intuitivo y facilidad de uso

Con Python como lenguaje principal, VQNet ofrece una interfaz de funciones muy similar a la de PyTorch. Permite elegir libremente entre diferentes backends de computación para implementar la diferenciación automática en modelos híbridos. El framework incluye de forma nativa más de 100 interfaces de computación de tensores (Tensors), más de 100 interfaces para circuitos cuánticos variacionales y más de 50 interfaces para redes neuronales clásicas, cubriendo todo el ciclo de desarrollo.

Rendimiento de cálculo eficiente y escalabilidad

Rendimiento de cálculo eficiente y escalabilidad

Para proyectos que requieren experimentación en chips cuánticos reales, VQNet integra la interfaz pyQPanda y aprovecha la planificación eficiente de Sinan para acelerar la simulación de circuitos y la ejecución real. En computación local, ofrece una API de programación basada en CPU o GPU que utiliza diferenciación automática para calcular gradientes en circuitos cuánticos variacionales, superando notablemente en velocidad a los métodos tradicionales de desplazamiento de parámetros (como los de Qiskit).

Casos de uso reales y ejemplos prácticos

Casos de uso reales y ejemplos prácticos

VQNet no es solo una herramienta de desarrollo, sino que también se aplica internamente en proyectos de optimización energética, análisis de datos médicos y procesamiento de imágenes. Para facilitar la curva de aprendizaje, el sitio web oficial y la documentación de la API ofrecen desde tutoriales básicos hasta guías de nivel avanzado, ayudándote a resolver problemas reales y a desplegar tus propias aplicaciones de machine learning cuántico de forma rápida.

Ejemplos prácticos para empezar a usar VQNet

Clasificador cuántico variacional

Permite construir un circuito cuántico para clasificación binaria mediante la codificación de entradas y la optimización de parámetros (por ejemplo, para diferenciar números pares e impares).

Red neuronal híbrida

Diseña una red neuronal sencilla con VQNet para familiarizarte con el flujo de trabajo y explorar el potencial de la computación cuántica.

Modelo U-Net híbrido

Este ejemplo integra pyQPanda con VQNet para cuantizar parcialmente el modelo clásico U-Net, creando una red Quantum U-Net (QUnet) idónea para el procesamiento de datos cuánticos.

Aprendizaje no supervisado: clustering cuántico

El clustering cuántico es un método de aprendizaje no supervisado que agrupa muestras según su similitud, facilitando la detección de patrones ocultos en los datos.

¿Todo listo para explorar la computación cuántica con VQNet?