2024年1月30日 星期二

Graph disconnected: cannot obtain value for tensor KerasTensor

Graph disconnected: cannot obtain value for tensor KerasTensor

TensorFlow版本:2.4.0

最近在嚐試寫PGGAN,參考來源程式碼在過程中做了轉型:

input_img = tf.keras.layers.Input(shape=(4, 4, 3))
input_img = tf.cast(input_img, tf.float32)
x1 = tf.keras.layers.AveragePooling2D()(input_img)

這種情況下每次都會跳出異常訊息:

Graph disconnected: cannot obtain value for tensor KerasTensor

搞了三天三夜,不管怎麼改變寫法,改成lambda、或是tf.dtypes.cast都不行:

input_img = tf.dtypes.cast(input_img, tf.float32)

結果我就很生氣的把變數名稱改了…

input_img = tf.keras.layers.Input(shape=(4, 4, 3))
input_img2 = tf.cast(input_img, tf.float32)
x1 = tf.keras.layers.AveragePooling2D()(input_img2)

就好了,對,沒錯,就好了。恭喜我自己,怪了,那他是怎麼訓練完成的。

2024年1月25日 星期四

PyGWalker

Python Tool: PyGWalker

python pygwalker data visualization

機器學習的一個重要過程就是資料分析,在做資料分析的時候最需要的就是一個方便的資料可視化軟體,AI總是需要有BI的伴隨。BI工具著名的有QLIK、Tableau、PowerBI,如果是Python的可視化套件就更是百家爭鳴。

不過最近看到一個讓我驚豔的套件,那就是PyGWalker,簡單幾段程式就讓我擁有類似於Tableau的界面,這讓我在資料分析上多了不少便利性。

官方Github連結

安裝

這次的測試是在conda,所以記得先建立一個虛擬環境:

conda create --name PyGWalkers

確定一下環境有沒有建立:

conda env list

然後轉入虛擬環境:

activate PyGWalkers

安裝:

conda install -c conda-forge pygwalker

安裝ipykernel:

conda install ipykernel

註冊kernel(要記得註冊,不然在執行中就無法選擇對應的kernel):

python -m ipykernel install --user --name PyGWalkers --display-name "Python (PyGWalkers)"

安裝確認:

conda list

啟動:

jupyter notebook

實作測試

從官方範例來看,就是簡單的兩步:

  1. 載入資料(csv -> dataframe)
  2. 執行
# 載入需求套件
import pandas as pd
import pygwalker as pyg
# 指定資料來源路徑
file_path = r'your file path'
# 載入dataframe
df = pd.read_csv(file_path)
# 確認資料是否確實載入
df.head()
# johnnie walker
pyg.walk(df)

image for PyGWalker

執行之後就會進入一個互動式的UI介面,是不是很讓人驚豔?剩下的就只是拖拖拉拉來觀察資料之間的關聯性了,這對小眾資料處理人員來說是非常便利的工具。