Skip to main content
IBM Quantum Platform

セッション

class Session(backend, max_time=None, *, create_new=True)

GitHub

ベース: object

Qiskit Runtime セッションを作成するためのクラス。

Qiskit Runtime session 量子コンピューターへの反復呼び出しのコレクションをグループ化することができる。 セッションが開始されるのは、セッション内の最初のジョブが開始されたときである。 セッション内の後続ジョブは、スケジューラによって優先順位が付けられる。

この Session クラスを使用して Qiskit Runtime セッションを開き、1 つ以上のプリミティブにジョブを投入できます。

例:

from qiskit.circuit import QuantumCircuit, QuantumRegister, ClassicalRegister
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit_ibm_runtime import QiskitRuntimeService, Session, SamplerV2 as Sampler

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

# Bell Circuit
qr = QuantumRegister(2, name="qr")
cr = ClassicalRegister(2, name="cr")
qc = QuantumCircuit(qr, cr, name="bell")
qc.h(qr[0])
qc.cx(qr[0], qr[1])
qc.measure(qr, cr)

pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_circuit = pm.run(qc)

with Session(backend=backend) as session:
    sampler = Sampler(mode=session)
    job = sampler.run([isa_circuit])
    pub_result = job.result()[0]
    print(f"Sampler job ID: {job.job_id()}")
    print(f"Counts: {pub_result.data.cr.get_counts()}")

パラメーター

  • backend (BackendV2) – Backend クラスのインスタンス。
  • max_time (int | str | None) – ランタイムセッションが強制終了される前に開いていられる最大時間。 秒単位の整数(int)または文字列(例: “2h、 30m、 40s” )で指定できます。 この値は、システムが課す最大値よりも小さくなければなりません。
  • create_new (bool | None) – Trueの場合、POSTセッションAPIエンドポイントが呼び出され、新しいセッションが作成されます。 が呼び出された from_id() 際に新しいセッションの作成を防止します。

レイズ

ValueError - 入力値が無効な場合。


属性

service

このセッションに関連付けられているサービスを返します。

戻り値

qiskit_ibm_runtime.QiskitRuntimeService このセッションに関連している。

session_id

セッション ID を返します。

戻り値

セッション ID。 バックエンドがシミュレータの場合はなし。


方法

backend

backend()

GitHub

このセッションのバックエンドを返します。

戻り値

このセッションのバックエンド。 不明の場合はなし。

戻りの型

str|なし

cancel

cancel()

GitHub

セッション内の保留中のジョブをすべてキャンセルする。

戻りの型

なし

close

close()

GitHub

セッションを終了し、新しいジョブの受付を停止します。

セッションを閉じると、新しいジョブは受け付けられなくなりますが、キューに入れられたジョブや実行中のジョブは完了まで実行されます。 保留中のジョブがなくなると、セッションは終了する。

戻りの型

なし

details

details()

GitHub

セッションの詳細を返す。

戻り値

セッションの詳細が記載された辞書。

  • idセッションのID。
  • backend_nameセッションに使用するバックエンド。
  • interactive_timeout:セッションが非アクティブになるまでに許容される、ジョブ間の最大アイドル時間(秒)。
  • max_time:セッションの最大許容時間(秒)。
  • active_timeout:セッションがアクティブでいられる最大時間(秒)。
  • state:セッションの状態 - オープン、アクティブ、非アクティブ、クローズ。
  • accepting_jobs:セッションが仕事を受け付けているかどうか。
  • last_job_started:セッションの最後のジョブが開始された時のタイムスタンプ。
  • last_job_completed:セッションの最後のジョブが完了した時のタイムスタンプ。
  • started_at:セッション開始のタイムスタンプ。
  • closed_at:セッションが終了した時のタイムスタンプ。
  • activated_at:セッションの状態がアクティブに変更された時のタイムスタンプ。
  • mode:セッションの実行モード。
  • usage_time:セッションまたはバッチの使用時間(秒)。 使用量とは、量子システムがジョブを完了させるためにコミットしている時間のことである。

戻りの型

辞書[文字列、 任意] | なし

from_id

classmethod from_id(session_id, service, use_fractional_gates=False, calibration_id=None)

GitHub

session_id指定された.を使用してSessionオブジェクトを作成します。

例:

from qiskit_ibm_runtime import QiskitRuntimeService, Session
service = QiskitRuntimeService()
job = service.job(<job_id>)
existing_session_id = job.session_id

new_session = Session.from_id(existing_session_id, service)

パラメーター

  • session_id (str) – 作成するセッションのID。 これは既存のセッションIDである必要があります。
  • service (QiskitRuntimeService) – クラスの QiskitRuntimeService インスタンス。 session_id複数のインスタンスを使用する場合、アクティブなクラウドインスタンスは、 service そのリソースへのアクセス権を持つインスタンスに置き換えられますのでご注意ください。 複数のインスタンスの使用方法に関するドキュメントと QiskitRuntimeService 、アクティブなインスタンスを確認する方法 active_instance() をご確認ください。
  • use_fractional_gates (bool) – セッションの作成に使用されるバックエンドで、フラクショナルゲートを許可するかどうか。
  • calibration_id (str | None) – セッションの作成に使用されるバックエンドのキャリブレーションID。

レイズ

  • IBMInputValueError – 指定された session_id が存在しない場合。
  • IBMRuntimeError – セッションのバックエンドが不明な場合。

戻り値

与えられた session_id

戻りの型

セッション

status

status()

GitHub

現在のセッションの状態を返します。

戻り値

セッションの状態を文字列で表す。

  • Pending:セッションは作成されているが、アクティブではない。 このセッションの次のジョブがデキューされたときにアクティブになる。
  • In progress, accepting new jobsセッションはアクティブで、新しい仕事を受け付けています。
  • In progress, not accepting new jobsセッションはアクティブで、新しい仕事は受け付けていません。
  • Closed: max_timeが切れたか、セッションが明示的に閉じられた。
  • Noneステータスの詳細は不明。

戻りの型

str|なし

usage

usage()

GitHub

セッションの使用量を秒単位で返します。

セッションの使用量は、最初のジョブが開始されてから、セッションが非アクティブになるか、閉じられるか、最後のジョブが完了するまでの時間である。

バッチ使用量は、すべてのジョブがQPUで費やす時間です。

戻りの型

フロート|なし

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。