前言

       随着机器学习的迅速普及,人类生活的许多方面都受到机器学习技术的影响,尤其是在深度学习从数据挖掘到人脸识别、医疗诊断到自动驾驶等方面。量子机器学习的诞生是为了适应大数据时代对海量数据的处理和分析。量子机器学习是基于传统的计算机机器学习算法,可以利用量子计算的处理效率进一步提高数据处理能力。量子机器学习和经典机器学习在各种应用场景中长期并存。越来越多的研究机构和大型 IT 公司正在开发和应用量子机器学习,导致机器学习开发框架众多,包括经典机器学习和量子机器学习,但仍然缺乏开发框架的支持。

        近期,本源量子更新了其新一代的量子机器学习框架VQNet2.0,该机器学习框架集经典机器学习模型和量子机器学习模型于一体,可以用于构建、运行和优化经典和量子机器学习算法,并且可以在经典计算机和本源量子芯片上运行相应的功能。

VQNet安装步骤

安装条件

        提供了Linux,Windows,MacOS上的python预编译包供安装,需要python==3.8,还需要numpy>=1.18.5,pyqpanda>=3.7.8,在这里我们主要讲一下在linux下的安装过程。

一.创建虚拟环境

        本人的ubuntu系统自带的python3版本是python3.6,为了不影响系统上其他项目的正常运行,在这里我创建了一个虚拟环境去跑项目。首先就是在系统中虚拟环境的安装。

sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenvwrapper

创建虚拟环境管理目录

mkdir ~/.virtualenvs

在.bashrc中添加如下内容

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

创建指定python版本的虚拟环境,因为VQNet的安装条件有一条是python==3.8,因此我们创建python3.8的虚拟环境(如果没有3.8版本,自行安装一个即可)

mkvirtualenv -p /usr/bin/python3.8 python3.8_test

                                                           

二.安装numpypyqpanda

安装numpy

pip3 install numpy -i  https://pypi.tuna.tsinghua.edu.cn/simple

安装pyqpanda(需要gcc >= 5.4.0,openmp,python)

pip3 install pyqpanda -i  https://pypi.tuna.tsinghua.edu.cn/simple

安装libpython3.8

sudo apt-get install libpython3.8

测试pyqpanda

创建一个.py文件

from pyqpanda import *

if __name__ == "__main__":
    qvm = CPUQVM()
    qvm.initQVM()
    qubits = qvm.qAlloc_many(4)
    cbits = qvm.cAlloc_many(4)

    prog = QProg()
    prog.insert(H(qubits[0])).insert(CNOT(qubits[0], qubits[1])).insert(Measure(qubits[0], cbits[0]))
    config = {'shots': 1000}
    result = qvm.run_with_configuration(prog, cbits, config)
    print(result)

    qvm.finalize()

运行可以正常结束并输出结果就代表安装成功

                                                       

三.安装pyvqnet

一样,先下载pyvqnet

pip3 install pyvqnet -i  https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后,先进行测试,同样创建一个.py文件

import pyvqnet
from pyvqnet.tensor import *
a = arange(1,25).reshape([2, 3, 4])
print(a)

同样,运行可以正常结束并输出结果就代表安装成功