In [ ]:
# USER, PLEASE SET CONFIG:
token = "_TOKEN_"
config = {
"url": 'https://quantumexperience.ng.bluemix.net/api'
}
# ---- UTILS -----
import sys
if sys.version_info.major > 2: # Python 3
from IBMQuantumExperience.IBMQuantumExperience import IBMQuantumExperience
else: # Python 2
from IBMQuantumExperience import IBMQuantumExperience
from IPython.display import Image, display
import matplotlib.pyplot as plt
import numpy as np
exec("experiment-conf.py")
%matplotlib inline
api = IBMQuantumExperience(token)
def showImageCode(idCode):
if (idCode):
code = api.get_image_code(idCode)
if (code.get('error', None)):
print("Failed to recover the Code")
else:
display(Image(code['url']))
else:
print("Invalid IdCode")
def printBars(values, labels):
N = len(values)
ind = np.arange(N) # the x locations for the groups
width = 0.35 # the width of the bars
fig, ax = plt.subplots()
rects1 = ax.bar(ind, values, width, color='r')
# add some text for labels, title and axes ticks
ax.set_ylabel('Probabilities')
ax.set_xticks(ind + (width/2.))
ax.set_xticklabels(labels)
def autolabel(rects):
# attach some text labels
for rect in rects:
height = rect.get_height()
ax.text(rect.get_x() + rect.get_width()/2., 1.05*height,
'%f' % float(height),
ha='center', va='bottom')
autolabel(rects1)
plt.show()
def showResultsByExecution(executionRaw):
result = executionRaw.get('result', {})
data = result.get('data', {})
print('Execution in ' + executionRaw.get('deviceRunType', 'Unknown') + ' at ' + executionRaw.get('endDate', 'Unknown'))
if (data.get('p', None)):
values = data['p']['values']
labels = data['p']['labels']
printBars(values, labels)
else:
print("Not plotted. Results are: "+str(executionRaw))
def showResultsByIdExecution(idExecution):
execution = api.get_result_from_execution(idExecution)
if (execution.get('measure', None)):
values = execution['measure']['values']
labels = execution['measure']['labels']
printBars(values, labels)
else:
print("Not plotted. Results are: "+str(execution))
def showLastCodes():
codes = api.get_last_codes()
for code in codes:
print("--------------------------------")
print("Code " + code.get('name', 'Unknown'))
print(" ")
showImageCode(code.get('id', None))
print("------- Executions -------------")
for execution in code.get('executions', []):
showResultsByExecution(execution)
In [ ]: