Strumenti Utente

Strumenti Sito


calcoloscientifico:cluster:softwareapplicativo:conda

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
calcoloscientifico:cluster:softwareapplicativo:conda [03/07/2024 17:34] fabio.spatarocalcoloscientifico:cluster:softwareapplicativo:conda [05/07/2024 10:04] (versione attuale) federico.prost
Linea 652: Linea 652:
  
 conda deactivate conda deactivate
 +</code>
 +
 +==== Virtualenv "pennylane" ====
 +
 +Available versions of the "pennylane" environment:
 +
 +^ condaenv        ^ **build date**  ^
 +| pennylane       | 2023.11.03      |
 +| pennylane-gpu   | 2023.11.03      |
 +
 +Enable the default version of the "pennylane" environment:
 +
 +<code>
 +module load miniconda3
 +source "$CONDA_PREFIX/etc/profile.d/conda.sh"
 +conda activate pennylane
 +</code>
 +
 +Enable the gpu version of the "pennylane" environment:
 +
 +<code>
 +module load miniconda3
 +source "$CONDA_PREFIX/etc/profile.d/conda.sh"
 +conda activate pennylane-gpu
 +</code>
 +
 +Packages in the "pennylane" environment (any version):
 +
 +<code>
 +conda list
 +</code>
 +
 +Disable the "pennylane" environment (any version):
 +
 +<code>
 +conda deactivate
 +</code>
 +
 +Script ''slurm-pennylane-gpu.sh'':
 +
 +<code bash slurm-pennylane-gpu.sh>
 +#!/bin/bash
 +#SBATCH --job-name=plExample
 +#SBATCH --output=%x.o%j
 +#SBATCH --error=%x.e%j
 +#SBATCH --nodes=1
 +#SBATCH --partition=gpu
 +#SBATCH --qos=gpu
 +#SBATCH --gres=gpu:a100_40g:1
 +#SBATCH --mem=8G
 +#SBATCH --time=0-10:00:00
 +#SBATCH --ntasks-per-node 4
 +#SBATCH --account=<account>
 +
 +module load miniconda3
 +source "$CONDA_PREFIX/etc/profile.d/conda.sh"
 +conda activate pennylane-gpu
 +
 +PYTHON_VERSION=$(python -V | awk '{ print $2 }')
 +echo $PYTHON_VERSION
 +
 +python -u ./plExample.py
 +
 +conda deactivate
 +</code>
 +
 +
 +Script ''plExample.py'':
 +
 +<code pyton plExample.py>
 +#!/usr/bin/env python3
 +
 +# Simple example where we train a parameterized quantum circuit
 +# to minimize the expectation value of a Pauli-Z operator.
 +import pennylane as qml
 +from pennylane import numpy as np
 +
 +# Define a quantum device with one qubit
 +dev = qml.device("default.qubit", wires=1)
 +
 +# Define a variational quantum circuit
 +@qml.qnode(dev)
 +def circuit(params):
 +    qml.RX(params[0], wires=0)  # Apply a rotation around the X-axis
 +    qml.RY(params[1], wires=0)  # Apply a rotation around the Y-axis
 +    return qml.expval(qml.PauliZ(0))
 +
 +# Define the cost function to minimize
 +def cost(params):
 +    return circuit(params)
 +
 +# Initialize parameters
 +init_params = np.array([0.01, 0.01], requires_grad=True)
 +
 +# Set up the optimizer
 +opt = qml.GradientDescentOptimizer(stepsize=0.1)
 +
 +# Number of optimization steps
 +steps = 100
 +
 +# Optimize the circuit parameters
 +params = init_params
 +for i in range(steps):
 +    params = opt.step(cost, params)
 +    if (i + 1) % 10 == 0:
 +        print(f"Step {i + 1}: Cost = {cost(params):.6f}, Params = {params}")
 +
 +print(f"Optimized Parameters: {params}")
 +print(f"Final Cost: {cost(params)}")
 +
 </code> </code>
calcoloscientifico/cluster/softwareapplicativo/conda.1720020886.txt.gz · Ultima modifica: 03/07/2024 17:34 da fabio.spataro

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki