91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Pytorch可視化之Visdom怎么用

發布時間:2021-08-09 11:43:44 來源:億速云 閱讀:1115 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“Pytorch可視化之Visdom怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Pytorch可視化之Visdom怎么用”這篇文章吧。

    一、Visdom簡介

    Visdom是由Facebook公司開發的一個進行數據可視化的Web應用程序,支持Torch、Numpy、Pytorch這3個庫的創建、管理和分享實時的數據可視化結果。

    二、安裝和運行

    可直接使用pip進行安裝,命令如下:

    pip install visdom

    安裝過程如下:

    Pytorch可視化之Visdom怎么用

    安裝完成后,運行下面的代碼啟動visdom服務器(運行需要時間,需要稍等一下;下圖中的報錯ERROR我沒有管,不影響正常運行):

    python -m visdom.server

    Pytorch可視化之Visdom怎么用

    按照提示,在瀏覽器中輸入http://localhost:8097就可以訪問visdom了。初始界面如下圖所示,是一個沒有任何視窗的main環境。

    Pytorch可視化之Visdom怎么用

    三、可視化例子

    1、輸出Hello World!

    打開開發工具(我用的是Pycharm2020.3),新建程序文件,輸入以下代碼:

    import visdom
     
    vis = visdom.Visdom()
    vis.text("Hello World!")

    點擊運行,返回查看瀏覽器。這時瀏覽器會出現一個視窗,內容為“Hello World!”。

    Pytorch可視化之Visdom怎么用

     拖拽視窗右下角箭頭處(如圖綠框處)可對視窗大小進行縮放,拖動視窗頂部橫條(如圖紅框處)可以移動視窗。

    Pytorch可視化之Visdom怎么用

    2、顯示圖像

    visdom可以直接顯示Tensor格式的圖像數據。

    打開開發工具,新建程序文件,輸入以下代碼:

    import visdom
    from PIL import Image
    import torchvision.transforms.functional as TF
     
    demo_pic = Image.open("1.jpg")
    img_tensor = TF.to_tensor(demo_pic)
    vis = visdom.Visdom()
    vis.image(img_tensor)

    結果如下圖所示:

    Pytorch可視化之Visdom怎么用

     可以用images()函數同時顯示多張圖片,代碼如下:

    import visdom
    from PIL import Image
    import torchvision.transforms.functional as TF
    import torch
     
    demo_pic = Image.open("1.jpg")
    img_tensor = TF.to_tensor(demo_pic)
    img_tensors = torch.Tensor([img_tensor.numpy(), img_tensor.numpy()])
    vis = visdom.Visdom()
    vis.images(img_tensors)

    結果如下:

    Pytorch可視化之Visdom怎么用

    3、繪制散點圖

    使用scatter()函數可以繪制二維或者三維的散點圖。代碼如下:

    import visdom
    import numpy as np
    import torch
     
    Y = np.random.rand(100)
    vis = visdom.Visdom()
    # vis = visdom.Visdom(env='my_wind')#設置環境窗口的名稱是'my_wind',如果不設置默認為main
    # 2—D
    twoD_scatter = vis.scatter(X=torch.rand(100, 2),
                              Y=(Y + 1.5).astype(int), # 轉換成100個1或2的整數
                              opts=dict(
                                  legend=['Apples', 'Pears'], # 圖例名稱
                                  xtickmin=-1, # 設置x坐標軸下限
                                  xtickmax=2.5, # 設置x坐標軸上限
                                  xtickstep=0.5, # 設置x坐標軸間隔
                                  ytickmin=-1,
                                  ytickmax=2.5,
                                  ytickstep=0.5,
                                  markersymbol='dot' # 設置數據顯示樣式
                              ),
                              )
    # 3-D
    # 3d scatterplot with custom labels and ranges
    threeD_scatter = vis.scatter(X=np.random.rand(100, 3),
                                 Y=(Y + 1.5).astype(int),
                                 opts=dict(
                                     legend=['Men', 'Women'],
                                     markersize=5, # 標記大小
                                     xtickmin=0,
                                     xtickmax=2,
                                     xlabel='Arbitrary', # 標簽
                                     xtickvals=[0, 0.75, 1.6, 2], # 設置坐標軸顯示值
                                     ytickmin=0,
                                     ytickmax=2,
                                     ytickstep=0.5,
                                     ztickmin=0,
                                     ztickmax=1,
                                     ztickstep=0.5,
                                 )
                                 )

    運行結果如下圖所示:

    Pytorch可視化之Visdom怎么用

      如果想要通過程序實現散點圖參數的更新,可以使用update_window_opts()函數,代碼如下:

    vis.update_window_opts(
        win=twoD_scatter,
        opts=dict(
            legend=['Apples', 'Pears'],
            xtickmin=0,
            xtickmax=1,
            xtickstep=0.5,
            ytickmin=0,
            ytickmax=1,
            ytickstep=0.5,
            markersymbol='dot'
        )
    )

    update_window_opts()傳入兩個參數,第一個是視窗的實例,例子中是twoD_scatter;第二個是更新的參數字典opts。

    更新后結果如下圖所示:

    Pytorch可視化之Visdom怎么用

    4、繪制線條

    4.1 繪制一條直線

    代碼如下:

    import visdom
    import numpy as np
    vis = visdom.Visdom(env='my_windows')  # 設置環境窗口的名稱,如果不設置名稱就默認為main
    # 繪制一條直線
    x = list(range(10))
    y = list(range(10))
    # 使用line函數繪制直線 并選擇顯示坐標軸
    vis.line(X=np.array(x), Y=np.array(y), opts=dict(showlegend=True))

    結果如圖所示:

    Pytorch可視化之Visdom怎么用

    4.2 繪制兩條直線

    代碼如下:

    # 繪制兩條直線
    import visdom
    import numpy as np
    vis = visdom.Visdom(env='my_windows')
    x = list(range(10))
    y = list(range(10))
    z = list(range(1,11))
    vis.line(X=np.array(x), Y=np.column_stack((np.array(y), np.array(z))),  opts=dict(showlegend=True))

    結果如圖所示:

    Pytorch可視化之Visdom怎么用

    4.3 繪制正弦曲線

    代碼如下:

    import visdom
    import torch
    vis = visdom.Visdom(env='sin')
    x = torch.arange(0, 100, 0.1)
    y = torch.sin(x)
    vis.line(X=x,Y=y,win='sin(x)',opts=dict(showlegend=True))

    結果如圖所示:

    Pytorch可視化之Visdom怎么用

    以上是“Pytorch可視化之Visdom怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    武清区| 沭阳县| 白城市| 兴隆县| 惠州市| 高邮市| 嫩江县| 建湖县| 饶阳县| 赫章县| 安阳县| 九台市| 开远市| 怀仁县| 衡阳市| 石楼县| 隆安县| 黄平县| 宁蒗| 溧水县| 汶川县| 汾西县| 奉化市| 潞西市| 祥云县| 伊宁市| 阳原县| 安泽县| 内丘县| 皋兰县| 正宁县| 当雄县| 南丰县| 林甸县| 新竹县| 蒲江县| 万安县| 石景山区| 玉龙| 安达市| 阿拉尔市|