# OpenMined Syft_Domain+HAGrid Install 🧙🏽‍♂️ Wizard (聯邦式學習) ![](https://i.imgur.com/BnUMKRW.png =30%x) ![](https://i.imgur.com/qHTugVY.png) ## Getting Started > [Install Tutorials](https://openmined.github.io/PySyft/getting_started/index.html) > [time=Tue, Apr 25, 2023 11:20 AM] We will be setting up the following dependencies before PySyft and PyGrid > * Python >=3.9 > * pip > * Conda > * Jupyter notebook > * Docker > 1. Syft 進行安全且私密的機器學習,以下是必備安裝套件 > 2. PyTorch:Syft 是建立在 PyTorch 之上的,因此需要先安裝 PyTorch > 3. TorchVision:如果需要在 Syft 中使用圖像,則需要安裝 TorchVision。 > 4. syft:Syft 主要的 Python 套件,可通過 pip 安裝。 > 5. websocket-client:用於在不同的 PySyft 工作站之間進行通信。 > 6. Flask:用於建立 Web 應用程式,以便在 Syft 中部署和共享模型。 > 7. phe:用於對數字進行安全計算(例如加密和解密),以保護數據隱私。 > 8. numpy、scipy:數學和科學計算工具,也是 PyTorch 的依賴項。 > ### **I have all the dependencies** > 1. Create a new env specifying the Python version > `(base) ubuntu@LAPTOP:~$ conda create -n syft_env python=3.9 conda activate syft_env` > 2. Install PySyft and Hagrid > `(base) ubuntu@LAPTOP:~$ pip install -U syft hagrid --pre` > 3. Launch the Doman Node > `(base) ubuntu@LAPTOP:~$ hagrid launch <name_of_domain>` > 4. 如何使用 PyGrid,一個分散式機器學習系統,來讓多個資料科學家可以共同訓練機器學習模型,而不需要共享彼此的敏感數據。透過設定 PyGrid 環境和相關程式,你可以啟動 PyGrid 系統,並透過網頁介面管理你的數據集和資料科學家的請求。當你想要停止 PyGrid 系統時,可以使用命令行工具輸入相關指令。若要與 PyGrid 互動,你可以在瀏覽器中輸入 localhost:8081 來打開 PyGrid 管理員介面。 > `Default 管理者帳號 info@openmined.org 管理者密碼 changethis` > **以上需在Linux 或 WSL(Windows虛擬Ubuntu)虛擬目錄環境中執行建置** > ### Windows安裝教程 #### **Step 1: Enabling WSL2** > 我们的第一步,也是最重要的一步,是启用Windows子系统Linux(WSL)。这使您可以在Windows上直接运行基于Linux的环境(包括大多数命令行工具和应用程序!),而不需要任何传统解决方案(如虚拟机或双引导)的缺点。同时也无需进行任何修改。 > `PS C:\Users\Jack> wsl --install` > 好的!它将开始安装所有依赖项并整理好所有事情。如果您在此处遇到任何问题,请参考此链接[Link](https://docs.microsoft.com/en-us/windows/wsl/troubleshooting#installation-issues),其中涵盖了常见的WSL安装问题。 #### **Step 2: Setting up Linux User Info** > 做得好!您几乎已经在计算机上拥有整个Linux内核和发行版,而且仅使用了一行代码!现在只需要进行最后一步...我们现在需要在全新的Linux发行版中添加一个新用户。为此,我们需要选择一个用户名和密码。请注意-此帐户、此密码-与您常规的Windows用户名或密码没有任何关系。它是特定于您刚刚安装的Linux发行版的。一旦您提供了用户名和密码,恭喜!您现在拥有了一个完整的Linux发行版。 #### **Step 3: Updating & Upgrading** > 现在您拥有了一个崭新的Linux系统,下一步将是更新和升级它。在Linux中,这非常容易,我们可以只用一个命令完成!在您的新Ubuntu终端中输入以下命令: > `(base) ubuntu@LAPTOP:~$ sudo apt update && sudo apt upgrade` > 您可能需要输入在第2步创建的帐户的密码。您可能还需要按Y并按Enter键以允许更新。但是,您正在保持良好的势头-没有什么能阻止您获取最新、最安全的Linux发行版! 注意:我们实际上建议经常(每隔几天一次)执行此操作,以保持安全和最新的发行版。 可选:安装Windows终端 我们建议安装Windows终端,并使用它来启动您的Linux发行版,而不是PowerShell、命令提示符或捆绑在其中的默认Ubuntu shell。这并非绝对必要,但不需要太长时间,可以改善命令行体验,可能会让您更加满意。如果您有兴趣,请转到[此处](https://docs.microsoft.com/en-us/windows/terminal/install)。 #### **Step 4: Installing Conda** 我们已经安装了一个Linux发行版(如果您按照可选步骤操作,还有一个时髦的新终端!),我们正接近安装我们的软件。下一步非常重要。它将帮助我们确保我们的软件可以无冲突地安装,并且一旦安装后,它将是稳定的,并按预期工作! 我们将使用一个称为Anaconda的工具来完成这个任务。它将帮助我们创建一个称为“虚拟环境”的东西。要安装Anaconda,**请按照下面提供的步骤进行操作**: 1. [Head to the Anaconda website](https://www.anaconda.com/products/individual#Downloads), and find the latest Linux installer. 2. Right click the installer, and select “**Copy Link Address**” 3. Head back to your WSL terminal, and type “wget ” and then right click next to it. This should paste the link you copied, which should produce something like: `(base) ubuntu@LAPTOP:~$ wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh` 4. You got it! Not only did you get it, you made it look **easy**. Now just hit enter. 5. At this point, Conda will start installing. Type “yes” and hit Enter for all the various prompts that follow (Accepting the Terms and Conditions, Running Conda Init, etc) 6. Once this is done, close and restart your WSL terminal. 7. Once restarted, verify that conda is working using the following command: `(base) ubuntu@LAPTOP:~$ conda env list` ### **Issue(問題解決參考)**: 1. [Docker Desktop WSL 2 backend on Windows(重要必看)](https://docs.docker.com/desktop/windows/wsl/) 2. [舊版WSL的手動安裝步驟](https://learn.microsoft.com/zh-tw/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package) 3. [WSL2安裝Anaconda](https://hackmd.io/@Kailyn/r1MxCCIxt) 4. [WSL安装Anaconda](https://zhuanlan.zhihu.com/p/166102942) 5. [WSL/WSL2 安裝Docker踩坑失敗經驗](https://hackmd.io/@CynthiaChuang/Install-Docker-in-WSL2) 6. [Anaconda install on Linux](https://docs.anaconda.com/free/anaconda/install/linux/) 7. [使用 WSL 在 Windows 上安裝 Linux](https://learn.microsoft.com/zh-tw/windows/wsl/install) 8. [Docker Image](https://docs.docker.com/engine/reference/commandline/image_rm/) ### **Reference(參考文獻)**: 1. [Windows Tutorials](https://openmined.github.io/PySyft/install_tutorials/windows.html) 2. [Advanced Deployment: Introduction to HaGrid](https://openmined.github.io/PySyft/deployment/index.html#deploying-to-azure) 3. [pgAdmin 4 (Python)](https://www.pgadmin.org/download/pgadmin-4-python/) 4. [Virtual Environments and Packages](https://docs.python.org/3/tutorial/venv.html) 5. [Syft Quick Start Python3.8-3.10](https://github.com/OpenMined/PySyft#docs-and-support) ### **技術討論區(OpenMind)**: * [OpenMined](https://app.slack.com/client/T6963A864/search/search-eyJkIjoiaW1hZ2UiLCJxIjoiVTA1NFZMMEVIMUEiLCJyIjoiaW1hZ2UifQ==) * [PySyft Document](https://github.com/OpenMined/PySyft/tree/master) * [Github Issue](https://github.com/OpenMined/PySyft/issues/7626) #### 您剛剛成功安裝了Anaconda!太好了!相信我,您的工作現在將變得輕鬆許多!. * Let’s now tap into your newfound powers with Anaconda and create a new virtual environment called “syft_env” by running the following in your WSL shell: `(base) ubuntu@LAPTOP:~$conda create -n syft_env python=3.9 --y` * Let’s verify that we created our “syft_env” successfully with the following command (Deja Vu, anyone?): `(base) ubuntu@LAPTOP:~$ conda env list` * You should see two environments in the output. Hooray! Now let’s activate the syft virtual env, and let the fun really begin: `(base) ubuntu@LAPTOP:~$ conda activate syft_env` * **Now let’s use it to conveniently install a few packages**: ``` (syft_env) ubuntu@LAPTOP:~$ sudo apt install python3-pip (syft_env) ubuntu@LAPTOP:~$ pip3 install pandas matplotlib numpy (syft_env) ubuntu@LAPTOP:~$ pip3 install jupyterlab ``` * If the last command fails, try the following instead: ``` (base) ubuntu@LAPTOP:~$ conda install -c conda-forge jupyterlab ``` > ![](https://i.imgur.com/axjgMQc.png) > ![](https://i.imgur.com/ZKsgjVV.png) > ![](https://i.imgur.com/oD0wr9S.png) #### **Step 5: Become the Docker Doctor** > 最後所需的工具是 Docker。您可以按照此處的說明進行安裝。 > **注意**:啟動 WSL 2 的 Windows 用戶帳戶必須添加到本地組“docker-users”。在 Windows 10 Home 上,運行 netplwiz 將 Windows 用戶添加到組“docker-users”。安裝完成後,您只需要確保以下事項: - 您已分配足夠的 RAM(我們建議至少 8GB,但您可以使用更少) - 您正在使用 WSL2 backend ![](https://i.imgur.com/Mm9547g.png) ![](https://i.imgur.com/9av2rLW.png) ![](https://i.imgur.com/W9cGh7Q.png) **恭喜您,您已經完成了旅程。現在是您的最終測試!部署一個領域節點。** **請注意,最終測試是可選的 - 您可以稍後完成此部分**。 #### **Step 6: Install Hagrid and PySyft** ``` (syft_env) ubuntu@LAPTOP:~$ pip3 install syft (syft_env) ubuntu@LAPTOP:~$ pip3 install hagrid ``` > 有了WSL和Anaconda的強大功能,使用conda軟件包管理器安裝軟件就變得非常簡單。您可以使用conda install命令從Anaconda存儲庫安裝軟件包,使用conda create命令創建帶有特定軟件包版本的虛擬環境。例如,要安裝NumPy軟件包,您可以在終端中運行conda install numpy。如果要創建一個新的環境,其中包含Python 3.8和pandas庫,您可以運行`conda create --name myenv python=3.8 pandas`。使用conda可以幫助管理軟件包之間的依賴關係,避免不同軟件包或版本之間的衝突。 ### ==本次安裝成功版本(Version=0.8.0.post2/hagrid=0.3.5~0.3.8)== > **[前往頁面](https://github.com/OpenMined/PySyft/tree/0.8)** > ![](https://i.imgur.com/u9XayZz.png) > **[前往頁面](https://github.com/OpenMined/PySyft/releases/tag/v0.8.0)** > ![](https://hackmd.io/_uploads/rJeMdTFVn.png) > **[前往頁面](https://pypi.org/project/syft/)** > ![](https://hackmd.io/_uploads/rkN4daYV2.png) #### **Optional: Deploy a Domain Node!** > 为了启动名为“test_domain”的域节点,请确保您的虚拟环境(在上面的步骤中为“syft_env”)处于活动状态,Docker桌面正在运行,并在WSL终端上运行以下命令: > `(syft_env) ubuntu@LAPTOP:~$ hagrid launch test_domain` #### **注意:** > 如果您收到错误消息“test_domain不适用于node_type,请使用以下选项之一:['domain','network']”,那么请重新运行该命令,将test_domain更改为domain。 ![](https://i.imgur.com/CiddLVC.png) ![](https://i.imgur.com/Gh0YkFS.png) ![](https://i.imgur.com/fgdRtis.png) 出現以上畫面表示HAGrid安裝與啟動成功 ***CONGRATULATIONS!!!*** ### WSL2 backend 如何與windows docker desktoper 連線 > 1. 開啟Docker Desktop的設置頁面,選擇“General”選項卡,啟用“Expose daemon on tcp://localhost:2375 without TLS”選項 > 2. 在WSL2終端中執行以下命令,將DOCKER_HOST環境變量設置為Windows主機的IP地址,並將端口設置為2375: > `export DOCKER_HOST=tcp://<windows_ip_address>:2375` > 請注意,這裡的 <windows_ip_address> 是你的Windows主機的IP地址。你可以在Windows命令提示符下運行以下命令來獲取它: > `ipconfig` > 3. 在WSL2終端中運行以下命令,測試與Windows上的Docker連接是否成功: > `docker version` > 如果成功,你應該能看到類似以下的輸出: > ![](https://i.imgur.com/VBFzPUC.png) 如果你看到以上輸出,表示已經成功連接Windows Docker Desktop了。現在你可以在WSL2中運行Docker命令,並且它們會在Windows Docker Desktop中運行。 ## ★★Deploying your own Domain Server **Note** **TIP: To run this tutorial interactively in Jupyter Lab on your own machine type:** ``` pip install -U hagrid hagrid quickstart data-owner ``` 本文介紹了「資料擁有者」及其如何使用「Domain Server」來安全地存放私人數據集。 「資料擁有者」指的是擁有數據集的個人或組織,他們希望將這些數據集分享給外部的研究人員或學者進行研究或學習。 為了安全地實現這個目標,「資料擁有者」可以建立自己的「Domain Server」。「Domain Server」是一個平台,提供安全和私密的環境,用於存放數據集,並允許經授權的使用者訪問和分析數據集,同時保護數據的隱私性。 需要注意的是,本文中「Domain Server」和「Domain Node」這兩個詞是可以互換使用的,都指的是相同的概念。 ## Steps To Deploy a Domain 本教程概述: 本教程將指導您如何在本地或雲端環境中啟動和設置一個Domain Server,這是一個用於加載私有數據並啟用安全的分布式數據分析和機器學習的服務器。該教程包括以下內容: 1. PySyft = Privacy-Preserving Library 1. PyGrid = Networking and Management Platform 1. HAGrid = Deployment and Command Line Tool * 在本地或雲端環境中啟動Domain Server。 * 創建一個用於數據科學家的用戶名和密碼。 * 在Domain Server上加載和設置私有數據集。 * 通過Websocket連接到Domain Server,以便進行數據分析或機器學習。 * 在本教程中,您將學習如何設置一個基本的Domain Server,並通過安全的方式與其互動,以加載和管理私有數據集。 ### Step 1: Install wizard ``` hagrid quickstart ``` > 下一步將向您展示如何啟動一個 Domain Node。如果您在運行上述安裝向導時遇到任何問題,請考慮在我們的 [GitHub-Issue](https://github.com/OpenMined/PySyft/issues) 頁面上尋找您正在遇到的錯誤。如果仍然無法解決問題,不要擔心,我們在這裡幫助您。加入 OpenMined Slack 社區,並在[#general](https://communityinviter.com/apps/openmined/openmined/) 頻道中解釋您的問題,我們中的任何一個人都可能能夠幫助您 ### Step 2: Launching a Domain Server 安裝完所有依賴項後,現在是時候使用 HAGrid 來啟動您的 Domain Node。 要啟動 Domain Node,您需要知道以下三件事: 1. 您需要部署哪種類型的節點?有兩種不同類型的節點:Domain Node 和 Network Node。預設情況下,HAGrid 啟動我們的主要節點,即 Domain Node。 2. 您要在哪裡啟動此節點?我們需要指定要將其啟動到端口 8081 的 docker 容器。 3. 您的 Domain Node 名稱是什麼?為此,不要忘記將 DOMAIN_NAME 指定為您喜歡的名稱。 ``` In: # edit DOMAIN_NAME and run this cell DOMAIN_NAME = "My Domain" !hagrid launch {DOMAIN_NAME} to docker:8081 --tag=latest --tail=false ``` 這個指令執行時,您會看到正在建立各種Container容器。完成此步驟後,請繼續進入下一步,我們將學習如何監控我們的 Domain Node 的健康狀況。完成安裝向導後,運行下面的單元格以啟動您的第一個 Domain Node。 ![](https://i.imgur.com/BFQv6Nj.png) ------------------------------------ ![](https://i.imgur.com/3d3PfN8.png) ------------------------------------ ![](https://i.imgur.com/eew0RFb.png) ------------------------------------ ### Step 3: Checking your Domain Server HAGrid的一個令人興奮的好處是,隨著您向前邁出其他步驟,它讓您的組織/ IT部門更容易監視和維護系統的狀態。現在,讓我們進行一個快速的健康檢查,以確保Domain正在運行中。您可以遵循以下步驟: 1. 開啟一個新的終端窗口。. 2. 通過運行以下命令進入docker容器 SSH into the docker container by running the following command: `docker exec -it <container_id> /bin/bash` **Note:** 請注意:將 <container_id> 替換為您的HAGrid容器的ID。. 3. 進入容器後,運行以下命令檢查Domain服務器的狀態: ```syft domain list``` 如果一切正常運行,它應顯示"Available"的消息,表示您的Domain服務器已成功運行. 4. 如果Domain服務器的狀態不可用,您可以通過運行以下命令重新啟動服務器: ```syft domain restart --name <domain_name>``` **Note:** 將 <domain_name> 替換為您分配給Domain節點的名稱。 5. 如果您繼續遇到問題,您可以參考HAGrid文檔或向OpenMined社區尋求幫助。 ![](https://i.imgur.com/4VjCvPd.png =80%x) ![](https://i.imgur.com/NE8lXsa.png) http://localhost:8081/api/v1/openapi.json ![](https://hackmd.io/_uploads/rJtHw60In.png) 如果您的輸出結果與上面的圖片相似,那就太好了!一個Domain Node剛剛誕生了。當它準備好時,您將在輸出中看到以下內容: * host:啟動的Domain Node的IP地址。 * UI (Beta):連結到管理閘道器的鏈接,該閘道器允許您從Web瀏覽器控制Domain Node。 * api:我們在筆記本中運行的應用程序層,使體驗更簡單直觀。 * ssh:進入虛擬機的密鑰。 * jupyter:您將用來上傳數據集的筆記本環境。 Congratulations 👏 You have now successfully deployed a Domain Server!¶ ### **Issue(問題解決參考)**: > * [How to List, Set and Manage Linux Environment Variables](https://www.cherryservers.com/blog/how-to-set-list-and-manage-linux-environment-variables) > * [Syft Quick Start GitHub](https://github.com/OpenMined/PySyft/tree/dev_mirror) > * [Deploying a Single Domain Node locally using docker](https://blog.openmined.org/remote-data-science-part-3-deploying-a-single-domain-node/) > * [Install Docker Desktop on Windows](https://docs.docker.com/desktop/install/windows-install/) > * [docker tag](https://docs.docker.com/engine/reference/commandline/tag/) > * [jupyter發生--allow root--啟動問題](https://blog.51cto.com/u_3826358/3919100) > * [PWD Error](https://www.cherryservers.com/blog/how-to-set-list-and-manage-linux-environment-variables) > ![](https://i.imgur.com/LRaXko4.png) 1. `$ type -a pwd` 2. `$ ls -l` 3. `$ cd <foldername>` 4. `$ echo $PWD` 5. `$ pwd` > * 在 Windows 主系統中查看 WSL 的檔案,在檔案總管的路徑列輸入下面這行就可以跳至 WSL 的檔案位置 > `\\wsl$` > * 查看WSL內ubuntu版本指令 > `lsb_release -a` >*[Docker Images Pull error] >![](https://hackmd.io/_uploads/BkWXedVU2.png) :::danger **安裝期間**:請確定網路環境防火牆有對外開通 ::: :::success **Docker啟動期間**: ::: >主機及內建Docker需對外開通port如下: >==80、81、444、8080、8081、8082、8888、 27017、14268、>16686== >Docker Desktop for Ubuntu使用以下網路端口進行通信和連接 >==2375、2376、4789、7946== :::warning **Swam多節點群集搭建**: ::: >多節點的環境涉及到機器之間的通信需求,所以防火牆和網絡安全策略組是一定要考慮的問題,特別是在雲上使用雲主機的情況,下面這些端口記得打開防火牆以及設置安全策略組 >==TCP port 2376、2377== >==TCP and UDP port 7946== >==UDP port 4789== ## 範例測試(Officer) >* [04-jax-example.ipynb](https://github.com/OpenMined/PySyft/blob/dev/notebooks/api/0.8/04-jax-example.ipynb) >* [SSLContext infinite recursion in Python 3.6](https://github.com/gevent/gevent/issues/1016) >* [Duet Examples](https://github.com/OpenMined/PySyft/tree/895f23bed466c32757fd34063f4aab7463595f7b/examples) #### Jupyter 上的快速安裝 1. > Step1. Import Install 🧙🏽‍♂️ Wizard BETA ``` import hagrid from hagrid import wizard ``` 2. Step 2. HAGrid Updates ``` wizard.check_hagrid !pip install -U syft ``` ![](https://i.imgur.com/TwlwVRQ.png =30%x) 3. Step 3. Installing PySyft ``` wizard.check_syft ``` ``` #!pip install --upgrade pip !pip install syft==0.8.0b9 ``` ![](https://i.imgur.com/OYzeGwB.png =30%x) 4. Step 4. Python Server ``` import syft as sy sy.requires(">=0.8-beta") #node = sy.orchestra.launch(name="test-domain-1", port=8080, dev_mode=True, reset=True) node = sy.orchestra.launch(name="healthtool-domain-1", port=8083, dev_mode=True, reset=True) ``` ![](https://i.imgur.com/ioLVIpi.png =90%x) ``` import syft as sy domain = sy.login(email="info@openmined.org", password="chengethis", port=8083) domain.api node.land() ``` 5. Step 5. Docker Setup (Optional) PyGrid 可以作为容器化服务运行在容器主机上。让我们请求 HAGrid 检查我们是否已经安装了所有必需的依赖项。如果我们没有安装,它将提供一些建议安装哪些软件包。 ``` from hagrid import wizard wizard.check_docker ``` 6. Step 6. Start a Test Domain 此段落為指示使用 Docker 在本機上啟動 Domain 的步驟,您可以執行下一個程式碼儲存格來啟動 Domain,等待執行完成即可。 ``` import syft as sy sy.requires(">=0.8-beta") node = sy.orchestra.launch(name="healthtool-domain-1", node_type="domain", port=8083, dev_mode=True) ``` 7. Step 7. Check Domain Health 為確保我們的Domain已啟動完成,我們可以請Hagrid替我們檢查它的運作狀態。執行下面的程式碼塊,以在本地主機上檢查您的Domain的運作狀態。您也可以在瀏覽器中打開連結,查看UI和API端點的詳細資訊。 ``` import hagrid hagrid.check("localhost:8083", timeout=120) ``` 在視窗中執行 ``` !hagrid check localhost:8083 --timeout=120 ``` 8. Step 8. Domain Login ``` import syft as sy sy.requires(">=0.8-beta") #domain = sy.login(email="info@openmined.org", password="!QAZ@WSX", port=8083) domain = sy.login(email="info@openmined.org", password="!QAZ@WSX", port=8083) ``` 9. Step 9. Shutdown Domain 如果您已經成功啟動了Domain節點,那麼安裝精靈就完成了,您可以進行一些教程了。您可以在下面的單元格中運行hagrid land命令關閉Domain節點。如果您已經完成了所有操作,可以直接關閉節點;如果您希望繼續運行,可以跳過此步驟。 `node.land()` ## AI Labs聯邦式學習的網路文獻 > [time=Tue, Apr 25, 2023 11:19 AM] > >### [官方討論區] ○ [OpenMind Slack](https://app.slack.com/client/T6963A864/search/search-eyJkIjoiaW1hZ2UiLCJxIjoiVTA1NFZMMEVIMUEiLCJyIjoiaW1hZ2UifQ==) >### [源碼DataSet下載] ○ https://github.com/OpenMined/PySyft/tree/0.8 ○ https://github.com/OpenMined/datasets/tree/main/trade_flow ○ https://github.com/OpenMined/datasets > ### [Federated learning libraries for general ML/DL] ○ FATE: Federated AI Technology Enabler ■ Official site: https://fate.fedai.org ■ Source code: https://github.com/FederatedAI/FATE ■ Document: https://fate.readthedocs.io/en/latest ○ PySyft: A library for computing on data you do not own and cannot see ■ Source code: https://github.com/OpenMined/PySyft ■ Document: https://github.com/OpenMined/PySyft/tree/master/examples/duet ● Federated learning library for medical AI ○ NVIDIA Clara Train SDK ■ Official site: https://developer.nvidia.com/clara ■ Download: https://ngc.nvidia.com/catalog/containers/nvidia:clara-train-sdk ■ Document: https://docs.nvidia.com/clara/tlt-mi/index.html > >### [Docker容器技術文件] >![](https://i.imgur.com/7Htuf0e.png) ● [Docker 基本教學](https://ithelp.ithome.com.tw/articles/10199339) ● [Docker從入門到精通](https://philipzheng.gitbook.io/docker_practice/network/port_mapping) ● [Docker從入門到實踐](https://philipzheng.gitbook.io/docker_practice/network/port_mapping) ● [Docker基礎教學](https://obtainable-specialist-1bc.notion.site/Docker-8be5fce495f541dd9509edaa4875dfd6) ● [Docker Desktop WSL 2 backend on Windows](https://docs.docker.com/desktop/windows/wsl/) ● [Docker Container 資源限制](https://ithelp.ithome.com.tw/articles/10194839) ● [Docker 的 Memory 與 CPU 資源管理](https://hoohoo.top/blog/docker-resource-memory-and-cpu-setting/) ## [Pysyft Docker容器內網路架構圖] ![](https://i.imgur.com/SnSdYqK.png) >### [醫療相關文獻] > 1. "Federated Learning in Healthcare Informatics: Principles and Applications" -這篇網路論文介紹了聯邦式學習在醫療信息學中的基本原理和應用情況。 > 2. "Federated Learning for Healthcare AI" -這篇網路文章提供了一個關於聯邦式學習如何應用於醫療AI的綜述,並探討了其應用的優點和挑戰。 > 3. "Privacy-Preserving Federated Learning for Clinical Data" -這篇網路論文探討了如何實現醫療數據的隱私保護聯邦式學習方法。 > 4. "Federated Learning on Electronic Health Records to Improve Mortality Prediction in Hospitalized Patients" -這篇網路論文使用聯邦式學習方法對電子健康記錄進行分析,以提高住院患者死亡預測的準確性。 > 5. "Federated Learning for Brain Imaging Analysis in Alzheimer's Disease" -這篇網路文章介紹了如何使用聯邦式學習方法進行阿爾茨海默病的腦影像分析。 > 6. "Privacy-Preserving Federated Learning for Healthcare Data: A Systematic Review" -這篇網路論文系統地綜述了隱私保護聯邦式學習在醫療數據中的應用情況和技術挑戰。 > 7. "Federated Learning for Medical Image Analysis" -這篇網路文章介紹了如何使用聯邦式學習方法進行醫學影像分析,並探討了其在醫療圖像分析中的應用。