This repository was archived by the owner on Jan 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 937
This repository was archived by the owner on Jan 12, 2024. It is now read-only.
HalfMoon example on Quantum Hardware #764
Copy link
Copy link
Open
Description
Describe the bug
We are trying to get the Azure Quantum ML classifier with the HalfMoon example running on quantum hardware/Azure simulator, but are running into issues with the job submission using the Python host file. Trying to determine if we're just doing something incorrectly in the submission or if running this on the remote system is not possible. Same error occurs with other Quantum targets, but works fine with the simulate command locally.
To Reproduce
Steps to reproduce the behavior:
- Clone or copy the HalfMoon classifier code
- Change the "simulate" calls to the HalfMoon objectives to:
qsharp.azure.execute(
TrainHalfMoonModel,
trainingVectors=data['TrainingData']['Features'],
trainingLabels=data['TrainingData']['Labels'],
initialParameters=parameter_starting_points,
shots=1000,
jobName=f"Train half moon model"
)
- Attempt to run on IonQ simulator target
- See error
{'text/plain': 'Connecting to Azure Quantum...', 'application/x-qsharp-data': '"Connecting to Azure Quantum..."'}
Connected to Azure Quantum workspace refactorquantum in location eastus.
Loading package Microsoft.Quantum.Providers.IonQ and dependencies...
Active target is now ionq.simulator
The Q# operation Microsoft.Quantum.Samples.TrainHalfMoonModel could not be compiled as an entry point for job execution.
Invalid snippet code
fail: Microsoft.Quantum.IQSharp.AzureClient.EntryPointGenerator[0]
QS6235 (/entrypoint.qs:Microsoft.VisualStudio.LanguageServer.Protocol.Range): Multi-dimensional arrays are not supported in entry point arguments.
fail: Microsoft.Quantum.IQSharp.AzureClient.EntryPointGenerator[0]
QS6235 (/entrypoint.qs:Microsoft.VisualStudio.LanguageServer.Protocol.Range): Multi-dimensional arrays are not supported in entry point arguments.
fail: Microsoft.Quantum.IQSharp.AzureClient.EntryPointGenerator[0]
QS5027 (/entrypoint.qs:Microsoft.VisualStudio.LanguageServer.Protocol.Range): The callable TrainHalfMoonModel requires runtime capabilities which are not supported by the target ionq.simulator.
Result Opacity: Transparent
Classical Capability: Full
fail: Microsoft.Quantum.IQSharp.AzureClient.EntryPointGenerator[0]
QS6238 ((null):Microsoft.VisualStudio.LanguageServer.Protocol.Range): Missing entry point. Execution on a quantum processor requires that a Q# entry point is defined using the @EntryPoint() attribute. Any C# driver code should be defined in a separate project.
fail: Microsoft.Quantum.IQSharp.AzureClient.EntryPointGenerator[0]
Error compiling entry point for operation Microsoft.Quantum.Samples.TrainHalfMoonModel.
fail: Microsoft.Quantum.IQSharp.AzureClient.AzureClient[0]
The Q# operation Microsoft.Quantum.Samples.TrainHalfMoonModel could not be compiled as an entry point for job execution.
Microsoft.Quantum.IQSharp.Common.CompilationErrorsException: Invalid snippet code
at Microsoft.Quantum.IQSharp.AzureClient.EntryPointGenerator.Generate(String operationName, String executionTarget, TargetCapability capability, Boolean generateQir) in D:\a\1\s\submodules\iqsharp\src\AzureClient\EntryPoint\EntryPointGenerator.cs:line 166
at Microsoft.Quantum.IQSharp.AzureClient.AzureClient.SubmitOrExecuteJobAsync(IChannel channel, AzureSubmissionContext submissionContext, Boolean execute, CancellationToken cancellationToken) in D:\a\1\s\submodules\iqsharp\src\AzureClient\AzureClient.cs:line 435
/entrypoint.qs(5,69): error QS6235: Multi-dimensional arrays are not supported in entry point arguments.
/entrypoint.qs(5,125): error QS6235: Multi-dimensional arrays are not supported in entry point arguments.
/entrypoint.qs(7,32): error QS5027: The callable TrainHalfMoonModel requires runtime capabilities which are not supported by the target ionq.simulator.
Result Opacity: Transparent
Classical Capability: Full
(1,1): error QS6238: Missing entry point. Execution on a quantum processor requires that a Q# entry point is defined using the @EntryPoint() attribute. Any C# driver code should be defined in a separate project.
Traceback (most recent call last):
File "run_remote.py", line 47, in <module>
(parameters, bias) = qsharp.azure.execute(
File "/Users/***/miniconda3/envs/quantum/lib/python3.9/site-packages/qsharp/azure.py", line 161, in execute
if "error_code" in result: raise AzureError(result)
qsharp.azure.AzureError: {'error_code': 1010, 'error_name': 'InvalidEntryPoint', 'error_description': 'The specified Q# operation cannot be used as an entry point for Azure Quantum job submission.'}
Additional context
Add any other context about the problem here.
Metadata
Metadata
Assignees
Labels
No labels