首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Qiskit python中调用EnergyInput()函数?

如何在Qiskit python中调用EnergyInput()函数?
EN

Stack Overflow用户
提问于 2019-09-06 14:45:10
回答 1查看 197关注 0票数 2

我想用Qiskit实现支持向量机。我使用了以下代码。

代码语言:javascript
复制
from qiskit import Aer
from qiskit.aqua.utils import split_dataset_to_data_and_labels
from qiskit.aqua.input import get_input_instance     
from qiskit.aqua import run_algorithm

n = 2  # dimension of each data point
sample_Total, training_input, test_input, class_labels = Breast_cancer(training_size=40,
                                                              test_size=10, n=n, PLOT_DATA=True)

temp = [test_input[k] for k in test_input]
total_array = np.concatenate(temp)

aqua_dict = {
    'problem': {'name': 'svm_classification', 'random_seed': 100},
    'algorithm': {
        'name': 'QSVM.Kernel'
    },
    'feature_map': {'name': 'SecondOrderExpansion', 'depth': 2, 'entangler_map': {0: [1]}},
    'multiclass_extension': {'name': 'AllPairs'},
    'backend': {'name': 'qasm_simulator', 'shots': 256}
}

algo_input = get_input_instance('SVMInput')
algo_input.training_dataset = training_input
algo_input.test_dataset = test_input
algo_input.datapoints = total_array

result = run_algorithm(aqua_dict, algo_input)
for k,v in result.items():
    print("'{}' : {}".format(k, v))

但是这段代码显示了这个错误。

ImportError:无法导入名称“get_input_instance”

这是因为这个方法是从Qiskit中删除的。我从 github杂志获得了这条信息。他们建议以类似的方式使用get_input_instance()而不是EnergyInput()。因此,我以以下方式修改了前面的代码。

代码语言:javascript
复制
!pip install qiskit
from qiskit import Aer
from qiskit.aqua.utils import split_dataset_to_data_and_labels
from qiskit.aqua.input import EnergyInput
from qiskit.aqua import run_algorithm

algo_input = EnergyInput('SVMInput')
algo_input.training_dataset = training_input
algo_input.test_dataset = test_input
algo_input.datapoints = total_array

现在,这段代码显示EnergyInput不能接受任何类型的字符串输入。这会产生以下错误。

AttributeError:'str‘对象没有属性'to_dict’

我可以在这张截图中显示整个错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-06 15:01:50

看看关于创建QSVMs的本教程。它们使用一个名为EnergyInput()的类来传递数据,而不是ClassificationInput()

这使得整个表达式:algo_input = ClassificationInput(training_input, test_input, datapoints[0])

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57824185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档