Hızlı başlangıç: Azure hisse 'ta en iyi duruma getirme sorununu çözme

Basit bir ikili iyileştirme sorununu çözmek için Azure hisse 'ta en iyi duruma getirme lehiyisini nasıl kullanacağınızı öğrenin.

Önkoşullar

  • Bu öğreticiyi tamamlayabilmeniz için bir Azure aboneliğine ihtiyacınız vardır. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Azure hisse çalışma alanı oluşturma

Azure portal Azure aboneliğinize bir Azure hisse çalışma alanı kaynağı ekleyerek Azure hisse hizmeti 'ni kullanırsınız. Bir Azure hisse çalışma alanı kaynağı veya Short çalışma alanı, çalışan hisse veya iyileştirme uygulamalarıyla ilişkili varlıkların bir koleksiyonudur.

Azure portalını açmak için adresine gidin https://portal.azure.com ve şu adımları izleyin:

  1. Kaynak oluştur ' a tıklayın ve ardından Azure hisse için arama yapın. Sonuçlar sayfasında, Azure hisse (Önizleme) hizmeti için bir kutucuk görmeniz gerekir.

    Azure hisse (Önizleme) hizmeti kutucuğu

  2. Azure hisse (Önizleme) seçeneğine tıklayın ve ardından Oluştur' a tıklayın. Bu, bir çalışma alanı oluşturmak için bir form açar.

    Azure hisse (Önizleme) hizmeti için kaynak oluşturma

  3. Çalışma alanınızın ayrıntılarını doldurun:

    • Abonelik: Bu çalışma alanıyla ilişkilendirmek istediğiniz abonelik.
    • Kaynak grubu: Bu çalışma alanını atamak istediğiniz kaynak grubu.
    • Ad: Çalışma alanınızın adı.
    • Bölge: Çalışma alanının bölgesi.
    • Depolama hesabı: işlerinizi ve sonuçlarınızı depolamak için Azure depolama hesabı. Mevcut bir depolama hesabınız yoksa, Yeni depolama hesabı oluştur ' a tıklayın ve gerekli alanları doldurun. Bu önizleme için varsayılan değerleri kullanmanızı öneririz.

    Azure hisse çalışma alanının özellikleri

    Not

    Yeni bir depolama hesabı oluşturmak için seçili kaynak grubunun sahibi olmanız gerekir. Kaynak gruplarının Azure 'da nasıl çalıştığı hakkında daha fazla bilgi için bkz. Azure Resource Manager Ile Azure kaynaklarını denetleme ve düzenleme.

  4. Bilgileri tamamladıktan sonra, çalışma alanınıza sağlayıcılar eklemek için sağlayıcılar sekmesine tıklayın. Sağlayıcı, hisse bir donanım, hisse simülatör veya en iyi duruma getirme hizmeti olabilen bir hisse hizmeti erişimi sağlar.

    Azure hisse sağlayıcıları için sağlayıcılar

    Not

    Varsayılan olarak, Azure hisse hizmeti, Microsoft QıO sağlayıcısını her çalışma alanına ekler.

  5. Microsoft QıO sağlayıcısı 'nın etkinleştirildiğinden emin olun (varsayılan olarak) ve ardından gözden geçir + oluştur' a tıklayın.

  6. Seçtiğiniz ayarı gözden geçirin ve her şey doğruysa, çalışma alanınızı oluşturmak için Oluştur ' a tıklayın.

Not

Azure hisse fiyatları, sağlayıcıya göre farklılık gösterir. Lütfen en güncel fiyatlandırma bilgileri için Azure portal Azure hisse çalışma alanınızın sağlayıcılar sekmesindeki bilgileri inceleyin veya Azure hisse fiyatlandırma sayfasınıziyaret edin.

Azure-hisse Python paketini yükler

Bir çözüm uygulamak için öncelikle makinenizde Azure-hisse Python paketinin yüklü olduğundan emin olun. Henüz yüklemediyseniz, şu adımları izleyin:

  1. Henüz yapmadıysanız Python 3,6 veya üstünü yükleyebilirsiniz.

  2. PIP 'yi yükleyip Sürüm 19,2 veya üzeri bir sürüme sahip olduğunuzdan emin olun.

  3. azure-quantumPython paketini yükler. --upgradeEn son sürümü aldığınızdan emin olmak için bayrağını kullanın.

    pip install --upgrade azure-quantum
    

Jupyıter Not defteri yüklemesi

İsteğe bağlı olarak, Jupyıter not defterlerini kullanarak Azure hisse iyileştirmeye karşı etkileşim kurmayı tercih edebilirsiniz. Bunu yapmak için şunları yapmanız gerekir:

  1. Azure-hisse Python paketini (önceki bölümde açıklandığı gibi) yükler

  2. Jupyıter not defterlerini yükler

  3. Seçtiğiniz terminalinizde, yeni bir Jupyter Notebook başlatmak için aşağıdaki komutu kullanın:

    jupyter notebook
    

    Bu yeni bir tarayıcı penceresi (veya yeni bir sekme) ve Not defteri panosunu gösteren bir denetim masası, hangi Not defteri açılacağı üzerinde seçim yapmanızı sağlar.

  4. Tarayıcı görünümünde, sağ üst köşedeki açılan menü düğmesini seçin ve Python 3 listeden seçin. Bunun için yeni bir not defteri oluşturulması gerekir.

Azure hisse çalışma alanı oluşturma ve bu bağlantı

Bir Workspace Azure hisse çalışma alanını temsil eder ve hizmetle etkileşimde bulunmak için ana arabirimdir.

from typing import List
from azure.quantum.optimization import Term
from azure.quantum import Workspace

workspace = Workspace (
    subscription_id = "",  # Add your subscription_id
    resource_group = "",   # Add your resource_group
    name = "",             # Add your workspace name
    location = ""          # Add your workspace location (for example, "westus")
    )

Azure hizmetiyle etkileşim kuran bir yöntemi ilk kez çalıştırdığınızda bir pencere, kimlik bilgilerinizi isteyen varsayılan tarayıcınızda bir pencere isteyebilir. İsteğe bağlı olarak, bir kimlik bilgisini nesnenin yapımını veya özelliğini kullanarak, kimlik doğrulamasında kullanılacak şekilde geçirebilirsiniz Workspace credentials . Daha fazla bilgi için bkz . Azure. hisse. çalışma alanı

Not

workspace.login()Yöntem kullanımdan kaldırılmıştır ve artık gerekli değildir. İlk kez hizmete bir çağrı olduğunda, oluşturucuda veya özelliği içinde geçirilen kimlik bilgileri kullanılarak bir kimlik doğrulaması denenir Workspace credentials . Kimlik bilgisi geçirilmemişse, DefaultAzureCredentialtarafından birkaç kimlik doğrulama yöntemi denenir.

Basit bir sorun ifade edin

Çözülebilme basit bir sorunu ifade etmek için bir örneğini oluşturun ve ya da Problem ' a ayarlayın problem_type ProblemType.ising ProblemType.pubo . Daha fazla bilgi için bkz. ProblemType.

from azure.quantum.optimization import Problem, ProblemType, Term

problem = Problem(name="My First Problem", problem_type=ProblemType.ising)

Sonra, bir nesne dizisi oluşturun Term ve bunları öğesine ekleyin Problem :

terms = [
    Term(c=-9, indices=[0]),
    Term(c=-3, indices=[1,0]),
    Term(c=5, indices=[2,0]),
    Term(c=9, indices=[2,1]),
    Term(c=2, indices=[3,0]),
    Term(c=-4, indices=[3,1]),
    Term(c=4, indices=[3,2])
]

problem.add_terms(terms=terms)

Not

Soruna yönelik koşullar sağlamak için birden çok yol vardır ve tüm koşulların aynı anda eklenmesi gerekir.

En iyi duruma getirme çözücü uygulama

Microsoft QıO sağlayıcısı için, paralel bir bağımsız değişken bağımsız sürümü kullanacağız. Bu çözücü ve diğer mevcut Lehler hakkındaki belgeleri Microsoft QIO sağlayıcısı başvurusundabulabilirsiniz.

from azure.quantum.optimization import ParallelTempering

solver = ParallelTempering(workspace, timeout=100)

result = solver.optimize(problem)
print(result)

Bu yöntem, sorunu en iyi duruma getirmek için Azure hisse ve zaman uyumlu olarak bekler. Terminal pencerenizde veya Jupyter Notebook aşağıdakine benzer bir çıktı görürsünüz:

{'solutions': [{'configuration': {'0': 1, '1': 1, '2': -1, '3': 1}, 'cost': -32.0}]}

Önkoşullar

  • Bu öğreticiyi tamamlayabilmeniz için bir Azure aboneliğine ihtiyacınız vardır. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Azure hisse çalışma alanı oluşturma

Azure portal Azure aboneliğinize bir Azure hisse çalışma alanı kaynağı ekleyerek Azure hisse hizmeti 'ni kullanırsınız. Bir Azure hisse çalışma alanı kaynağı veya Short çalışma alanı, çalışan hisse veya iyileştirme uygulamalarıyla ilişkili varlıkların bir koleksiyonudur.

Azure portalını açmak için adresine gidin https://portal.azure.com ve şu adımları izleyin:

  1. Kaynak oluştur ' a tıklayın ve ardından Azure hisse için arama yapın. Sonuçlar sayfasında, Azure hisse (Önizleme) hizmeti için bir kutucuk görmeniz gerekir.

    Azure hisse (Önizleme) hizmeti kutucuğu

  2. Azure hisse (Önizleme) seçeneğine tıklayın ve ardından Oluştur' a tıklayın. Bu, bir çalışma alanı oluşturmak için bir form açar.

    Azure hisse (Önizleme) hizmeti için kaynak oluşturma

  3. Çalışma alanınızın ayrıntılarını doldurun:

    • Abonelik: Bu çalışma alanıyla ilişkilendirmek istediğiniz abonelik.
    • Kaynak grubu: Bu çalışma alanını atamak istediğiniz kaynak grubu.
    • Ad: Çalışma alanınızın adı.
    • Bölge: Çalışma alanının bölgesi.
    • Depolama hesabı: işlerinizi ve sonuçlarınızı depolamak için Azure depolama hesabı. Mevcut bir depolama hesabınız yoksa, Yeni depolama hesabı oluştur ' a tıklayın ve gerekli alanları doldurun. Bu önizleme için varsayılan değerleri kullanmanızı öneririz.

    Azure hisse çalışma alanının özellikleri

    Not

    Yeni bir depolama hesabı oluşturmak için seçili kaynak grubunun sahibi olmanız gerekir. Kaynak gruplarının Azure 'da nasıl çalıştığı hakkında daha fazla bilgi için bkz. Azure Resource Manager Ile Azure kaynaklarını denetleme ve düzenleme.

  4. Bilgileri tamamladıktan sonra, çalışma alanınıza sağlayıcılar eklemek için sağlayıcılar sekmesine tıklayın. Sağlayıcı, hisse bir donanım, hisse simülatör veya en iyi duruma getirme hizmeti olabilen bir hisse hizmeti erişimi sağlar.

    Azure hisse sağlayıcıları için sağlayıcılar

    Not

    Varsayılan olarak, Azure hisse hizmeti, Microsoft QıO sağlayıcısını her çalışma alanına ekler.

  5. En az 1Qı Iyileştirme platformu sağlayıcısı ekleyin ve ardından gözden geçir + oluştur' a tıklayın.

  6. Seçtiğiniz ayarı gözden geçirin ve her şey doğruysa, çalışma alanınızı oluşturmak için Oluştur ' a tıklayın.

    Çalışma alanını gözden geçirin ve oluşturun

Not

Azure hisse fiyatları, sağlayıcıya göre farklılık gösterir. Lütfen en güncel fiyatlandırma bilgileri için Azure portal Azure hisse çalışma alanınızın sağlayıcılar sekmesindeki bilgileri inceleyin veya Azure hisse fiyatlandırma sayfasınıziyaret edin.

Azure-hisse Python paketini yükler

Bir çözüm uygulamak için öncelikle makinenizde Azure-hisse Python paketinin yüklü olduğundan emin olun. Henüz yüklemediyseniz, şu adımları izleyin:

  1. Henüz yapmadıysanız Python 3,6 veya üstünü yükleyebilirsiniz.

  2. PIP 'yi yükleyip Sürüm 19,2 veya üzeri bir sürüme sahip olduğunuzdan emin olun.

  3. azure-quantumPython paketini yükler. --upgradeEn son sürümü aldığınızdan emin olmak için bayrağını kullanın.

    pip install --upgrade azure-quantum
    

Jupyıter Not defteri yüklemesi

İsteğe bağlı olarak, Jupyıter not defterlerini kullanarak Azure hisse iyileştirmeye karşı etkileşim kurmayı tercih edebilirsiniz. Bunu yapmak için şunları yapmanız gerekir:

  1. Azure-hisse Python paketini (önceki bölümde açıklandığı gibi) yükler

  2. Jupyıter not defterlerini yükler

  3. Seçtiğiniz terminalinizde, yeni bir Jupyter Notebook başlatmak için aşağıdaki komutu kullanın:

    jupyter notebook
    

    Bu yeni bir tarayıcı penceresi (veya yeni bir sekme) ve Not defteri panosunu gösteren bir denetim masası, hangi Not defteri açılacağı üzerinde seçim yapmanızı sağlar.

  4. Tarayıcı görünümünde, sağ üst köşedeki açılan menü düğmesini seçin ve Python 3 listeden seçin. Bunun için yeni bir not defteri oluşturulması gerekir.

Azure hisse çalışma alanı oluşturma ve bu bağlantı

Bir Workspace Azure hisse çalışma alanını temsil eder ve hizmetle etkileşimde bulunmak için ana arabirimdir.

from typing import List
from azure.quantum.optimization import Term
from azure.quantum import Workspace

workspace = Workspace (
    subscription_id = "",  # Add your subscription_id
    resource_group = "",   # Add your resource_group
    name = "",             # Add your workspace name
    location = ""          # Add your workspace location (for example, "westus")
    )

Azure hizmetiyle etkileşim kuran bir yöntemi ilk kez çalıştırdığınızda bir pencere, kimlik bilgilerinizi isteyen varsayılan tarayıcınızda bir pencere isteyebilir. İsteğe bağlı olarak, bir kimlik bilgisini nesnenin yapımını veya özelliğini kullanarak, kimlik doğrulamasında kullanılacak şekilde geçirebilirsiniz Workspace credentials . Daha fazla bilgi için bkz . Azure. hisse. çalışma alanı

Not

workspace.login()Yöntem kullanımdan kaldırılmıştır ve artık gerekli değildir. İlk kez hizmete bir çağrı olduğunda, oluşturucuda veya özelliği içinde geçirilen kimlik bilgileri kullanılarak bir kimlik doğrulaması denenir Workspace credentials . Kimlik bilgisi geçirilmemişse, DefaultAzureCredentialtarafından birkaç kimlik doğrulama yöntemi denenir.

Basit bir sorun ifade edin

Çözülebilme basit bir sorunu ifade etmek için bir örneğini oluşturun ve ya da Problem ' a ayarlayın problem_type ProblemType.ising ProblemType.pubo . Daha fazla bilgi için bkz. ProblemType.

from azure.quantum.optimization import Problem, ProblemType, Term

problem = Problem(name="My First Problem", problem_type=ProblemType.ising)

Sonra, bir nesne dizisi oluşturun Term ve bunları öğesine ekleyin Problem :

terms = [
    Term(c=-9, indices=[0]),
    Term(c=-3, indices=[1,0]),
    Term(c=5, indices=[2,0]),
    Term(c=9, indices=[2,1]),
    Term(c=2, indices=[3,0]),
    Term(c=-4, indices=[3,1]),
    Term(c=4, indices=[3,2])
]

problem.add_terms(terms=terms)

Not

Soruna yönelik koşullar sağlamak için birden çok yol vardır ve tüm koşulların aynı anda eklenmesi gerekir.

En iyi duruma getirme çözücü uygulama

1QBit sağlayıcısı için yol yeniden bağlama çözücü kullanacağız. Bu çözücü ve diğer mevcut Lehler üzerinde, 1Qbit sağlayıcı başvurusundabelge bulabilirsiniz.


from azure.quantum.optimization.oneqbit import PathRelinkingSolver

solver = PathRelinkingSolver(workspace)

result = solver.optimize(problem)
print(result)

Bu yöntem, sorunu en iyi duruma getirmek için Azure hisse ve zaman uyumlu olarak bekler. Terminal pencerenizde veya Jupyter Notebook aşağıdakine benzer bir çıktı görürsünüz:

{'solutions': [{'configuration': {'0': 1, '1': 1, '2': -1, '3': 1}, 'cost': -32.0}]}

Not

Azure hisse ile çalışırken bir hata ile karşılaşırsanız, yaygın sorunlar listemizikontrol edebilirsiniz. Ayrıca, bir iyileştirme çözücü kullanıyorsa ve formda bir hata alırsanız <AZQxxx> , en iyi duruma getirme için sık karşılaşılan Kullanıcı hataları listemizikontrol edebilirsiniz.

Sonraki adımlar

Belgeler

Örnekler ve uçtan uca öğrenme