محاكاة TFF على GCP

سيصف هذا البرنامج التعليمي كيفية تشغيل محاكاة TFF على GCP.

قم بتشغيل محاكاة على حاوية وقت تشغيل واحدة

1. قم بتثبيت وتهيئة Cloud SDK. .

2. استنساخ مستودع TensorFlow الموحد.

$ git clone https://github.com/tensorflow/federated.git
$ cd "federated"

3. قم بتشغيل حاوية وقت تشغيل واحدة.

  1. بناء حاوية وقت التشغيل.

    $ docker build \
        --network=host \
        --tag "<registry>/tff-runtime" \
        --file "tensorflow_federated/tools/runtime/container/Dockerfile" \
        .
    
  2. انشر حاوية وقت التشغيل.

    $ docker push <registry>/tff-runtime
    
  3. قم بإنشاء مثيل Compute Engine

    1. في Cloud Console ، انتقل إلى صفحة مثيلات VM .

    2. انقر فوق إنشاء مثيل .

    3. في قسم جدار الحماية ، حدد السماح بحركة مرور HTTP والسماح بحركة مرور HTTPS .

    4. انقر فوق إنشاء لإنشاء المثيل.

  4. ssh في المثال.

    $ gcloud compute ssh <instance>
    
  5. قم بتشغيل حاوية وقت التشغيل في الخلفية.

    $ docker run \
        --detach \
        --name=tff-runtime \
        --publish=8000:8000 \
        <registry>/tff-runtime
    
  6. اخرج من المثيل.

    $ exit
    
  7. احصل على عنوان IP الداخلي للمثيل.

    يتم استخدام هذا لاحقًا كمعامل لنص الاختبار الخاص بنا.

    $ gcloud compute instances describe <instance> \
        --format='get(networkInterfaces[0].networkIP)'
    

4. قم بتشغيل محاكاة على حاوية العميل.

  1. بناء حاوية العميل.

    $ docker build \
        --network=host \
        --tag "<registry>/tff-client" \
        --file "tensorflow_federated/tools/client/latest.Dockerfile" \
        .
    
  2. انشر حاوية العميل.

    $ docker push <registry>/tff-client
    
  3. قم بإنشاء مثيل Compute Engine

    1. في Cloud Console ، انتقل إلى صفحة مثيلات VM .

    2. انقر فوق إنشاء مثيل .

    3. في قسم جدار الحماية ، حدد السماح بحركة مرور HTTP والسماح بحركة مرور HTTPS .

    4. انقر فوق إنشاء لإنشاء المثيل.

  4. انسخ تجربتك إلى مثيل Compute Engine.

    $ gcloud compute scp \
        "tensorflow_federated/tools/client/test.py" \
        <instance>:~
    
  5. ssh في المثال.

    $ gcloud compute ssh <instance>
    
  6. قم بتشغيل حاوية العميل بشكل تفاعلي.

    يجب طباعة السلسلة "Hello World" إلى المحطة.

    $ docker run \
        --interactive \
        --tty \
        --name=tff-client \
        --volume ~/:/simulation \
        --workdir /simulation \
        <registry>/tff-client \
        bash
    
  7. قم بتشغيل نص بايثون.

    استخدام عنوان IP الداخلي للمثيل الذي يقوم بتشغيل حاوية وقت التشغيل.

    $ python3 test.py --host '<IP address>'
    
  8. اخرج من الحاوية.

    $ exit
    
  9. اخرج من المثيل.

    $ exit