整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Jupyter Notebook界面也可以如此炫酷?

          Jupyter Notebook界面也可以如此炫酷?有人把Notebook玩出新花樣

          自Towardsdatascience

          作者:Pranjal Chaubey

          機器之心編譯

          參與:Nurchachu Null、張倩

          深藍主題、Conda 環境自由切換、一鍵生成目錄、一鍵隱藏代碼單元……有沒有想過 Jupyter Notebook 還可以這么玩?

          對全世界的 Python 高手而言,Jupyter Notebook 是目前最流行的編程環境,尤其是對那些從事機器學習和數據科學的人而言。數月前我第一次開始認真研究機器學習時發現了 Jupyter Notebook。剛開始,我因這一切可以在我的瀏覽器中運行而感到驚訝和開心。但是,不久后我就失望了,老套的 Jupyter Notebook 的界面非?;A,缺乏很多有用的功能。那時候我就決定去尋找一些 Jupyter Notebook 的黑客技術。

          在這篇文章中,我展示了一些 Jupyter Notebook 的附件/擴展,以及一些能夠增強 Jupyter Notebook 和提高生產力的命令。簡言之,就是要增強你的 Jupyter Notebook。

          如果你按照下面的指示去做,你的 Jupyter Notebook 會擁有下面這些令人驚嘆的功能(如果你愿意,還能獲得更多):

          • 能夠動態切換多個 Conda 環境,而無需重啟 Jupyter Notebook。
          • 一鍵點擊生成目錄(你會喜歡這個功能)。
          • 一個很有用的彈出式便簽(這是我最喜歡的功能),無需改變原始筆記本中任何地方就可以把玩、測試你的代碼。
          • 代碼單元內的代碼折疊。很疑惑為啥這個不是 Jupyter Notebook 的固有功能。
          • 一鍵代碼單元隱藏,這是一個重要的功能,當你需要通過可視化的方式展示數據時,人們并不會關心你的代碼,而是你的圖表。
          • 一個超級酷的變量檢查器。
          • 用于 Markdown 單元的拼寫檢查器。
          • 用于深夜編碼會話的禪意黑模式(ZenMode)。
          • 能夠動態增加常用 python 結構(例如 List comprehension)的 Code Snippets 菜單。
          • 最后這個絕對是最好的功能——舒緩漂亮的深夜藍配色方案,拯救你的眼睛!

          是時候增強我們的 jupyter notebook 了!

          炫酷的深藍午夜主題

          首先,要保證我們的 notebook 有一個漂亮的黑色主題,這樣我們的眼睛就會舒服一些。如果你每天要工作很長時間,那固有的白色背景會讓你眼睛很難受。無論如何,一旦你換成了黑色,就永遠不會想換回來。

          使用下面的命令安裝黑色的主題,

          # Kill and exit the Notebook server
          # Make sure you are in the base conda environment
          conda activate base# install jupyterthemes
          pip install jupyterthemes
          # upgrade to latest version
          pip install --upgrade jupyterthemes
          

          主題包安裝和更新好之后,運行下面的命令,將原來白色主題的 Jupyter Notebook 換成一款深藍午夜主題。你的眼睛會喜歡這款主題的。

          # Enable Dark Mode
          jt -t onedork -fs 95 -altp -tfs 11 -nfs 115 -cellw 88% -T
          

          Conda 環境自由切換

          接下來,看一下我們是否已經把 Anaconda 中創建的所有定制環境作為核心添加在了 Jupyter Notebook 中。這樣我們就能簡單地利用 Kernel 按鈕切換環境。換核的時候不需要重啟 notebook。

          假設你的 Anaconda 環中有兩個自定義的環境 my_NLP 和 gym。按照下面的步驟將這些添加到你的 Jupyter Notebook 中。

          # Stop and exit your Jupyter Notebook server first
          # Activate your environment in the terminal 
          conda activate my_NLP
          # Install the IPython Kernel 
          pip install ipykernel
          # Link your environment with Jupyter 
          python -m ipykernel install --user --name=my_NLP# Repeat steps for the other environment, gym. 
          conda activate gym
          pip install ipykernel 
          python -m ipykernel install --user --name=gym
          

          現在打開你的 Jupyter Notebook,找到 kernel 按鈕下的 Change Kernel 選項,接下來就是見證奇跡的時刻:所有的核都被列舉出來了,你可以通過簡單地點擊來激活一個服務核。

          這便是最新添加的 Kernel 的展現形式。請注意這款舒緩的午夜藍主題。

          其他炫酷功能

          關于我在上面提及的其他炫酷功能,需要安裝一些叫做 nbextensions for Jupyter Notebooks 的東西。

          安裝地址:https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/install.html

          安裝 nbextensions 是很容易的,簡單地遵循下面的步驟就行:

          # Stop and exit your Jupyter Notebook server 
          # Make sure you are in the base environment
          conda activate base# Install the nbextensions 
          pip install jupyter_contrib_nbextensions
          # Install the necessary JS and CSS files 
          jupyter contrib nbextension install --system
          

          啟動 Jupyter notebook 服務,你可以在起始頁看到第四個叫做 Nbextensions 的選項。點擊這個選項,然后就可以看到極妙的功能集,這些都是你一直希望在 Jupyter Notebooks 中擁有的。

          Nbextensions 標簽!

          正如你在上面看到的,這個擴展列表十分龐大,甚至第一眼看上去有些嚇人。但并不是所有的都有用,下面是我用到的一些功能:

          • Table of Contents(2):單擊生成整個筆記本的目錄,不同的 section 都有對應的超鏈接。
          • Scratchpad:在我看來絕對是最好的擴展了。這是一個你可以在里面做代碼實驗的獨立空間,不會干擾筆記本中的其他部分。
          • Codefolding :代碼折疊,這個不需要做過多的解釋。
          • Hide Input All:隱藏所有的代碼單元,同時保持所有的輸出和 markdown 單元可見。如果你要向非技術人員解釋你的結果,那么這就會是一個很有用的功能。
          • Variable Inspector:將你從調試的憂傷中拯救出來,這與 Spyder IDE 中的變量檢查窗口有些類似。
          • Spellchecker:對 markdown 單元中的內容進行拼寫檢查。
          • Zenmode:移除掉屏幕中雜亂無關的內容,以便你能夠聚焦于重要的東西上,例如代碼。
          • Snippets Menu:從 list comprehension 到 pandas 以及它們之間的所有常用代碼片段的一個很酷的集合。這是最好的部分?你可以修改窗口的小部件來添加你自己的定制片段。


          上述列表包含了我常用的擴展功能,但是我鼓勵你去嘗試一下其余的擴展功能。一些有意思的功能包括 ScrollDown、table_beautifier 以及 Hinterland。

          Snippet 擴展和 Table of Contents generation 擴展在工作中同時使用。


          Scratchpad 擴展

          原文鏈接:https://towardsdatascience.com/supercharging-jupyter-notebooks-e22f5ad7ca18

          要:基于 Graph Explorer 在 Jupyter 上進行圖探索,可以大大降低編碼成本,豐富 JupyterLab 的數據表現力。

          本文分享自華為云社區《將Graph Explorer搬上JupyterLab:使用GES4Jupyter連接GES并進行圖探索-云社區-華為云》,作者: 蜉蝣與海 。

          GES4Jupyter 是一款可以在 JupyterLab 中連接訪問 GES 并可視化的工具。工具中封裝了部分 GES 業務面接口,并提供對返回數據的可視化能力?;谠摴ぞ咴?Jupyter 上進行圖探索,可以大大降低編碼成本,豐富 JupyterLab 的數據表現力。

          一、使用前準備

          1. 華為云賬號

          在使用華為云服務之前您需要注冊華為云帳號。通過此帳號,只需為使用的服務付費,即可使用所有華為云服務。

          注冊華為云賬號步驟請點擊:《華為云注冊介紹》

          注冊成功后即可自動登錄華為云,您需要完成 “實名認證” 才可以正常使用服務。

          2. OBS 對象存儲服務

          OBS 即對象存儲服務(Object Storage Service),GES 將 OBS 作為數據源導入數據。

          數據若想導入圖引擎服務 GES,需要先上傳至 OBS。詳情參考:華為云圖引擎服務 GES 實戰——創圖

          3. GES 圖引擎服務

          使用 GES4Jupyter 前,需要在圖引擎服務控制臺創建一個 GES 圖實例,并且導入數據。本例中使用的數據源是新冠患者軌跡追溯數據集 v2,可以從 AI Gallery 中下載。詳情參考:華為圖引擎文檔 - 快速入門和華為云圖引擎服務 GES 實戰 —— 創圖

          4. 獲取調用 GES 業務面 API 必備的參數

          調用 GES API 需要輸入 token 鑒權信息,認證鑒權能力依賴華為云統一身份認證服務 IAM。獲取 Token 需要用戶名密碼、圖所在區域等信息。詳情查看:華為圖引擎文檔 - 業務面 API 認證鑒權和調用 GES 服務業務面 API 相關參數的獲取

          二、使用 GES4Jupyter 連接 GES 服務

          從華為云首頁進入 ModelArts 控制臺,點擊 CodeLab 新建一個 Jupyter Notebook,并等待資源初始化完成。

          新建一個 Notebook,使用下列代碼獲取 GES4Jupyter 程序和資源文件。

          import moxing as mox
          mox.file.copy('obs://obs-aigallery-zc/GES/ges4jupyter/beta/ges4jupyter.py', 'ges4jupyter.py')
          mox.file.copy('obs://obs-aigallery-zc/GES/ges4jupyter/beta/ges4jupyter.html', 'ges4jupyter.html')復制

          在 Notebook 中輸入代碼后,將該段文本配置為代碼,然后點擊左側的運行按鈕,并等待運行完成。

          點擊左上角的 “+” 號新建代碼片段,輸入下列代碼段并運行,完成 GES4Jupyter 的初始化。

          from ges4jupyter import GESConfig, GES4Jupyter, read_csv_config
          eip=''
          project_id=''
          graph_name=''
          iam_url=''
          user_name=''
          password=''
          domain_name=''
          project_name=''
          port=80
          eip, project_id, graph_name, iam_url, user_name, password, domain_name, project_name, port=read_csv_config('cn_north_4_graph.csv')
          config=GESConfig(eip, project_id, graph_name, 
                              iam_url=iam_url, 
                              user_name=user_name, 
                              password=password, 
                              domain_name=domain_name,
                              project_name=project_name,
                              port=port)
          ges_util=GES4Jupyter(config, True);復制

          上面代碼中涉及的字段含義基本分為兩大類,簡單介紹下:

          • 用于構造 API 的參數:eip,projectId,graph_name, port 這四個參數都參與構造了業務面請求的 url。eip 與 graph_name 兩個參數在創圖時容易獲得,port 參數默認為 80,開啟安全模式時為 443,關于 projectId,可參考圖引擎官網文檔 - 獲取項目 id,從圖控制臺根據圖所屬的區域來獲取項目 id。
          • 用于在請求 API 前獲取 token 的參數:iam_url, user_name, password, domain_name,project_name,GES4Jupyter 會使用這四個參數獲取 token,進而在使用 api 時進行鑒權,相關參數獲取請參考:華為圖引擎文檔 - 業務面 API 認證鑒權和調用 GES 服務業務面 API 相關參數的獲取

          除了手動輸入這部分參數,也可以將參數構造為一個 csv 文件上傳至 CodeLab 平臺,而后執行圖示 read_csv_config 方法,一鍵獲取所有參數。

          如圖為一個區域為北京四的圖的示例文件,關鍵信息(如 ip、projectId、圖名、賬戶名、密碼、iam 子賬號名)通過馬賽克隱藏。

          對于新創的圖,使用下列代碼段可以創建點邊索引,方便使用 cypher:

          print('開始創建點索引:')
          job_id=ges_util.build_vertex_index()
          job_result=ges_util.get_job(job_id)
          if 'errorCode' not in job_result:
              for i in range(100):
                  if job_result['status']=='success':
                      break
                  else:
                      time.sleep(1)
                      job_result=ges_util.get_job(job_id)
          print('點索引創建完成')
          print('開始創建邊索引:')
          job_id=ges_util.build_edge_index()
          job_result=ges_util.get_job(job_id)
          if 'errorCode' not in job_result:
              for i in range(100):
                  if job_result['status']=='success':
                      break
                  else:
                      time.sleep(1)
                      job_result=ges_util.get_job(job_id)
          print('邊索引創建完成')復制

          如果圖比較大,且沒有基于 label 過濾方面的訴求,也可以關閉 cypher 的索引開關。

          ges_util.cypher_query("call dbms.parameter('needNodeIndex', false)");
          ges_util.cypher_query("call dbms.parameter('needEdgeIndex', false)");復制

          執行 summary 方法可以看到點邊分布:

          三、使用 GES4Jupyter 調用業務面接口并進行可視化

          GES4Jupyter 支持調用 cypher 語句,并可視化 cypher 的結果。在初始化完成 GES4Jupyter 后,使用下列代碼可以執行并可視化 cypher 查詢:

          cypher_result=ges_util.cypher_query("match (n)-[r]->(m) return n,r,m limit 10",formats=['row','graph']);
          ges_util.format_cypher_result(cypher_result)復制

          在 Notebook 中輸入該段代碼,點擊運行,可以看到 Notebook 中效果:

          同時,工具還提供了其他選項卡,不僅可以看到可視化 Graph 結構,還可以看到表格數據、以及原始的 json 數據。

          GES4Jupyter 也提供了能力對 gremlin 語言返回的點邊數據進行可視化。

          gremlin_result=ges_util.gremlin_query("g.V().outE().bothV().path().limit(2)");
          ges_util.format_gremlin_result(gremlin_result)復制

          同時,對于 ges 的 path-query 接口,當返回數據為 tree 格式時,GES4Jupyter 也能提供較好的支持。

          result=ges_util.path_query({
                      "repeat": [
                          {
                              "operator": "bothV",
                              "vertex_filter": {
                                  "property_filter": {
                                      "leftvalue": {
                                          "id": ""
                                      },
                                      "predicate": "NOTIN",
                                      "rightvalue": {
                                          "value": ["北京"]
                                      }
                                  }
                              }
                          }
                      ],
                      "until": [
                          {
                              "vertex_filter": {
                                  "property_filter": {
                                      "leftvalue": {
                                          "id": ""
                                      },
                                      "predicate": "=",
                                      "rightvalue": {
                                          "value": ["額濟納旗"]
                                      }
                                  }
                              }
                          }
                      ],
                      "times": 5,
                      "queryType": "Tree",
                      "vertices": ["北京病例2"]
                  })
          ges_util.format_path_query(result)復制

          四、圖引擎官網有更多案例可以使用 GES4Jupyter 上手體驗

          本文的數據集取自華為云圖引擎官網 “新冠患者軌跡追溯” 數據集,notebook 代碼取自 “新冠患者軌跡追溯” 案例,在圖引擎官方網站上,還有其他動手實踐案例,配套 ModelArts 的 CodeLab,可以實現 “開箱即用”,提供豐富的場景和大家一起認識圖、了解圖、使用圖。

          參考項目:https://github.com/merqurio/neo4jupyter

          點擊下方,第一時間了解華為云新鮮技術~

          華為云博客_大數據博客_AI博客_云計算博客_開發者中心-華為云

          安裝 Jupyter Notebook

          • Jupyter Notebook 簡介

            Jupyter Notebook 是一個開源的 Web 應用程序,可以用來創建和共享包含動態代碼、方程式、可視化及解釋性文本的文檔。

            其應用于包括:數據整理與轉換,數值模擬,統計建模,機器學習等等。

            更多信息請見 官網 。

          • http://jupyter.org/

          • 檢查 Python 環境

            CentOS 7.2 中默認集成了 Python 2.7,可以通過下面命令檢查 Python 版本:

            python --version

          • 安裝 pip

            pip 是一個 Python 包管理工具,我們使用 yum 命令來安裝該工具:

            yum -y install python-pip

            使用下面命令升級 pip 到最新版本:

            pip install --upgrade pip
          • 安裝相關依賴

            安裝 Jupyter 過程中還需要其他一些依賴,我們使用以下命令安裝他們:

            yum -y groupinstall "Development Tools"
            yum -y install python-deve
          • 配置虛擬環境

            安裝 virtualenv

            我們將為 Jupyter 創建一個獨立的虛擬環境,與系統自帶的 Python 隔離開來。為此,先安裝 virtualenv 庫:

            pip install virtualenv

          • 創建虛擬環境

            創建一個專門的虛擬環境,并直接激活進入該環境:

            virtualenv venv
            source venv/bin/activate

          • 使用 pip 安裝 Jupyter

            我們使用 pip 命令安裝 Jupyter:

            pip install jupyter

          2.配置 Jupyter Notebook

          • 建立項目目錄

            我們先為 Jupyter 相關文件準備一個目錄:

            mkdir /data/jupyter
            cd /data/jupyter

            再建立一個目錄作為 Jupyter 運行的根目錄:

            mkdir /data/jupyter/root
          • 準備密碼密文

            由于我們將以需要密碼驗證的模式啟動 Jupyter,所以我們要預先生成所需的密碼對應的密文。

            生成密文

            使用下面的命令,創建一個密文的密碼:

            python -c "import IPython;print IPython.lib.passwd()"

          執行后需要輸入并確認密碼,然后程序會返回一個 'sha1:...'的密文,我們接下來將會用到它。

          • 修改配置

            生成配置文件

            我們使用 --generate-config 來參數生成默認配置文件:

            jupyter notebook --generate-config --allow-root

            生成的配置文件在 /root/.jupyter/ 目錄下

            修改配置

            然后在配置文件最下方加入以下配置:

            c.NotebookApp.ip='*'
            c.NotebookApp.allow_root=True
            c.NotebookApp.open_browser=False
            c.NotebookApp.port=8888
            c.NotebookApp.password=u'剛才生成的密文(sha:...)'
            c.ContentsManager.root_dir='/data/jupyter/root'

            其中:

            你也可以直接配置或使用 Nginx 將服務代理到 80 或 443 端口。

          • c.NotebookApp.password 請將上一步中密文填入此項,包括 sha: 部分。

          3.啟動 Jupyter Notebook

          • 直接啟動

            使用以下指令啟動 Jupyter Notebook:

            jupyter notebook
          • 此時,訪問 地址 即可進入 Jupyter 首頁。

          • 創建 Notebook

          • 進入【首頁】首先需要輸入前面步驟中設置的密碼。

          • 然后點擊右側的【 new 】,選擇 Python2 新建一個 notebook,這時跳轉至編輯界面。

          • 現在我們可以看到 /data/jupyter/root/ 目錄中出現了一個 Untitled.ipynb 文件,這就是我們剛剛新建的 Notebook 文件。我們建立的所有 Notebook 都將默認以該類型的文件格式保存。

          • 后臺運行

            直接以 jupyter notebook 命令啟動 Jupyter 的方式在連接斷開時將會中斷,所以我們需要讓 Jupyter 服務在后臺常駐。

            先按下 Ctrl + C 并輸入 y 停止 Jupyter 服務,然后執行以下命令:

            nohup jupyter notebook > /data/jupyter/jupyter.log 2>&1 &

            該命令將使得 Jupyter 在后臺運行,并將日志寫在 /data/jupyter/jupyter.log 文件中。

          • 準備后續步驟的 Notebook

            為了后面實驗中實驗室的步驟檢查器能夠更好的工作,此時我們使用以下命令預先創建幾份 ipynb 文件:

            cd /data/jupyter/root
            cp Untitled.ipynb first.ipynb
            cp Untitled.ipynb matplotlib.ipynb
            cp Untitled.ipynb tensorflow.ipynb
            rm -f Untitled.ipynb

          4.使用 Jupyter Notebook

          • 接下來的步驟中如遇到步驟檢查未通過,請按下 Ctrl + S 保存,等待步驟檢查器確認。

          • 編輯界面

            點擊這里打開 first.ipynb 編輯界面。

            Jupyter Notebook 的編輯界面主要由 工具欄內容編輯區 構成。

            下方編輯區,由 Cell 組成。每個 notebook 由多個 Cell 構成,每個 Cell 都可以有不同的用途。

          • Code Cell

            新建的 notebook 中包含一個代碼 Cell(Code Cell),以 [ ] 開頭,在該類型的 Cell 中,可以輸入任意代碼并執行。如輸入:

            1 + 1

            然后按下 Shift + Enter 鍵, Cell 中代碼就會被執行,光標也會移動至下個新 Cell 中。我們接著輸入:

            print('Hello Jupyter')

            再次按下 Shift + Enter ,可以看到這次沒有出現 Out[..] 這樣的文字。這是因為我們只打印出來了某些值,而沒有返回任何的值。

          • 按下 Ctrl + S 保存,等待步驟檢查器確認。

          • Heading Cell *

            新版本中已經沒有獨立的 Heading Cell,現在標題被整合在 Markdown Cell 之中。

            如果我們想在頂部添加一個的標題。選中第一個 Cell,然后點擊 Insert -> Insert Cell Above。

            你會發現,文檔頂部馬上就出現了一個新的 Cell。點擊在工具欄中 Cell 類型(默認為 Code),將其變成 Markdown。接著在 Cell 中寫下:

            # My First Notebook

            然后按下 Shift + Enter 鍵,便可以看到生成了一行一級標題。

          • 與 Markdown 語法相同,使用多個#將改變標題級別。

          • Markdown Cell

            上一步中我們已經嘗試了使用了 Markdown Cell。在該 Cell 中,除標題外其他語法同樣支持。比如,我們在一個新的 Cell 中插入以下文本:

            This is a **table**:
            | Name | Value |
            |:----:|:-----:|
            | A | 1 |
            | B | 2 |
            | C | 3 |

            然后按下 Shift + Enter,即可渲染出相應內容。

            高級用法 - HTML

            Markdown Cell 中同樣接受 HTML 代碼。這樣,你就可以實現更加豐富的樣式及結構、添加圖片等等。

            例如,如果想在 notebook 中添加 Jupyter 的 logo,并且添加 2px 的黑色邊框,放置在單元格左側,可以這樣編寫:

            <img src="http://jupyter.org/assets/nav_logo.svg" style="border: 2px solid black; float:left" />

            然后按下 Shift + Enter,即可渲染出圖片。

            高級用法 - LaTex

            Markdown Cell 還支持 LaTex 語法。在 Cell 中插入以下文本:

            $$int_0^{+infty} x^2 dx$$

            同樣按下 Shift + Enter,即可渲染出公式。

          • 導出

            notebook 支持導出導出為 HTML、Markdown、PDF 等多種格式。

            如點擊 File -> Download as -> HTML(.html),即可下載到 HTML 版本的 notebook。

            導出 PDF

            其中,導出 PDF 需要其他包的支持,我們需要使用以下命令安裝這些依賴:

            yum -y install pandoc texlive-*
          • 注:直接導出 PDF 時 Jupyter 可能會忽略一些 Cell,建議先導出為 HTML,然后使用瀏覽器將其轉為 PDF。

            5.集成 Matplotlib(可選)

            Matplotlib 是 Python 中最常用的可視化工具之一,可以非常方便地創建許多類型的 2D 圖表和基本的 3D 圖表。

            • 安裝 Matplotlib

              我們使用 pip 來安裝 Matplotlib:

              pip install matplotlib
            • 測試 Matplotlib

              我們使用另一個 notebook (matplotlib.ipynb)來測試 Matplotlib。

              點擊這里打開 matplotlib.ipynb 編輯界面。

              魔法命令

              在第一個 Cell 中,我們插入并執行:

              %matplotlib inline

              這是指定 matplotlib 圖表的顯示方式的魔法命令。inline 表示將圖表嵌入到 notebook 中。

              測試

              在接下來 Cell 中,我們插入幾個官方示例測試:

              1.plot_bmh:地址:https://matplotlib.org/examples/style_sheets/plot_bmh.html

              示列代碼:plot_bmh.py

              執行 Cell,即可看到繪制出的圖像。

              2.whats_new_99_mplot3d:

              whats_new_99_mplot3d.py

              同樣執行 Cell,即可看到繪制出的圖像。

            • from numpy.random import beta
              import matplotlib.pyplot as plt
              plt.style.use('bmh')
              def plot_beta_hist(ax, a, b):
               ax.hist(beta(a, b, size=10000), histtype="stepfilled",
               bins=25, alpha=0.8, normed=True)
              fig, ax=plt.subplots()
              plot_beta_hist(ax, 10, 10)
              plot_beta_hist(ax, 4, 12)
              plot_beta_hist(ax, 50, 12)
              plot_beta_hist(ax, 6, 55)
              ax.set_title("'bmh' style sheet")
              plt.show()

            Shift + Enter 執行 Cell,即可看到繪制出的圖像。

            2.whats_new_99_mplot3d:地址:https://matplotlib.org/examples/pyplots/whats_new_99_mplot3d.html

            示例代碼:/whats_new_99_mplot3d.py

            import random
            import numpy as np
            import matplotlib.pyplot as plt
            from matplotlib import cm
            from mpl_toolkits.mplot3d import Axes3D
            X=np.arange(-5, 5, 0.25)
            Y=np.arange(-5, 5, 0.25)
            X, Y=np.meshgrid(X, Y)
            R=np.sqrt(X**2 + Y**2)
            Z=np.sin(R)
            fig=plt.figure()
            ax=Axes3D(fig)
            ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.viridis)
            plt.show()

            同樣執行 Cell,即可看到繪制出的圖像。

            • 關于 Matplotlib 的使用請移步其官網。

            • 動手試試

              最后,我們來嘗試繪制一個二次函數圖像,你可以自行實現,也可以參考下面代碼:

            6.搭配 TensorFlow(可選)

            TensorFlow? 是一個采用數據流圖,用于數值計算的開源軟件庫。它靈活的架構讓你可以在多種平臺上展開計算,例如臺式計算機中的一個或多個CPU(或GPU),服務器,移動設備等等。

            TensorFlow 最初由 Google 大腦小組的研究員和工程師們開發出來,用于機器學習和深度神經網絡方面的研究,但這個系統的通用性使其也可廣泛用于其他計算領域。

            • 安裝 TensorFlow

              我們使用 pip 安裝相關依賴及 Tensorflow

              pip install protobuf
              pip install tensorflow
            • 測試 TensorFlow

              點擊這里打開 tensorflow.ipynb 編輯界面。

              Cell 中加入以下代碼(整理自官網 MNIST 教程):

              示例代碼:/tensorflow.py

            按下 Shift + Enter,學習過程結束后可以看到輸出了準確率(92% 左右)

            • 關于 TensorFlow 的使用請移步其官網,這里只是測試其在 Jupiter 中是否可用。

            7.自由體驗

            • 恭喜!您已經成功搭建起了一個云端的 Jupyter Notebook 環境。感謝大家耐心的看完,新年到,小桀在這里祝大家新年快樂、心想事成、技術更上一層樓!


            主站蜘蛛池模板: 亚洲日韩精品无码一区二区三区| 国产成人无码一区二区在线播放 | 无码精品黑人一区二区三区 | 国产乱码一区二区三区爽爽爽| 一区高清大胆人体| 亚洲国产AV无码一区二区三区| 国产午夜精品一区二区三区| 国产伦精品一区二区三区视频小说 | 久久精品无码一区二区三区| 一区二区三区杨幂在线观看| 国产一区二区三区樱花动漫| 精品一区二区三区| 亚洲福利电影一区二区?| 射精专区一区二区朝鲜| 久久久精品人妻一区二区三区| 中文字幕一区二区区免| 在线日韩麻豆一区| 濑亚美莉在线视频一区| 日韩精品中文字幕视频一区| 波多野结衣AV一区二区三区中文 | 无码喷水一区二区浪潮AV| 交换国产精品视频一区| 无码播放一区二区三区| 天堂Av无码Av一区二区三区| 亚洲变态另类一区二区三区| 久久久无码精品人妻一区| 国产日韩精品一区二区三区| 正在播放国产一区| 精品久久久久中文字幕一区| 中文字幕在线视频一区 | 一区二区三区四区在线播放 | 亚洲码欧美码一区二区三区| 无码喷水一区二区浪潮AV| 精品一区二区AV天堂| 真实国产乱子伦精品一区二区三区| 国产亚洲一区二区三区在线不卡| 国产精品无圣光一区二区| 91video国产一区| 亚洲av日韩综合一区久热| 午夜精品一区二区三区免费视频| 国产精品视频一区二区三区四|