<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 創建服務器實例 由于集群每個任務包含一個服務器實例,因此在每個物理節點上,通過向服務器傳遞集群規范,它們自己的作業名稱和任務索引來啟動服務器。服務器使用集群規范來確定計算中涉及的其他節點。 ```py server = tf.train.Server(clusterSpec, job_name="ps", task_index=0) server = tf.train.Server(clusterSpec, job_name="worker", task_index=0) server = tf.train.Server(clusterSpec, job_name="worker", task_index=1) server = tf.train.Server(clusterSpec, job_name="worker", task_index=2) ``` 在我們的示例代碼中,我們有一個 Python 文件可以在所有物理機器上運行,包含以下內容: ```py server = tf.train.Server(clusterSpec, job_name=FLAGS.job_name, task_index=FLAGS.task_index, config=config ) ``` 在此代碼中,`job_name`和`task_index`取自命令行傳遞的參數。軟件包`tf.flags`是一個花哨的解析器,可以訪問命令行參數。 Python 文件在每個物理節點上執行如下(如果您僅使用本地主機,則在同一節點上的單獨終端中執行): ```py # the model should be run in each physical node # using the appropriate arguments $ python3 model.py --job_name='ps' --task_index=0 $ python3 model.py --job_name='worker' --task_index=0 $ python3 model.py --job_name='worker' --task_index=1 $ python3 model.py --job_name='worker' --task_index=2 ``` 為了在任何集群上運行代碼具有更大的靈活性,您還可以通過命令行傳遞運行參數服務器和工作程序的計算機列表:`-ps='localhost:9001' --worker='localhost:9002,localhost:9003,``localhost:9004'`。您需要解析它們并在集群規范字典中正確設置它們。 為確保我們的參數服務器僅使用 CPU 而我們的工作器任務使用 GPU,我們使用配置對象: ```py config = tf.ConfigProto() config.allow_soft_placement = True if FLAGS.job_name=='ps': #print(config.device_count['GPU']) config.device_count['GPU']=0 server = tf.train.Server(clusterSpec, job_name=FLAGS.job_name, task_index=FLAGS.task_index, config=config ) server.join() sys.exit('0') elif FLAGS.job_name=='worker': config.gpu_options.per_process_gpu_memory_fraction = 0.2 server = tf.train.Server(clusterSpec, job_name=FLAGS.job_name, task_index=FLAGS.task_index, config=config ``` 當工作器執行模型訓練并退出時,參數服務器等待`server.join()`。 這就是我們的 GPU 在所有四臺服務器運行時的樣子: ![](https://img.kancloud.cn/41/39/413906b51b5da9705538b583f42a15f7_730x330.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看