看得見內部的深度學習。

CodefyUI 是開源的節點式深度學習建構工具。把層拖到畫布上、連成一張圖、按下執行,再點任何一個節點,就能看到從它流出的每一個數字。

最新版本 2.8.9AGPL-3.0以 Python、PyTorch 與 React 打造
Start執行這張圖

這張圖就在這裡執行。

閒置在格子上畫畫、換一個卷積核,再點節點檢視它的張量。
Start
trigger
Data
trigger
tensor
shape1,1,8,8
value_modeexplicit
CNN
tensor
tensor
stride1
padding1
CNN
tensor
tensor
CNN
tensor
tensor
kernel_size2
stride2
Utility
data
image
plot_typeheatmap
這個示範以純 JavaScript 執行;CodefyUI 本身以 PyTorch 執行每個節點。

同一張畫布,從第一層一路到訓練好的模型。

真正的編輯器是一個由本機單一程序提供的瀏覽器應用程式。你做出的每樣東西都是一張圖,可以儲存、分享、再次執行。

每一個節點,都有名字。

內建節點庫涵蓋經典機器學習、CNN、序列模型、Transformer、LLM、Diffusion、強化學習與視覺-語言-動作模型。每個類別在畫布上都保有自己的顏色。

16 個類別,共 152 個節點開啟節點參考
  • Start
  • Dataset
  • ImageFolderDataset
  • DataLoader
  • DatasetBatch
  • Transform
  • HuggingFaceDataset
  • KaggleDataset
  • TensorInput
  • TextInput
  • CSVReader
  • ColumnSelector
  • RowSelector
  • Normalize
  • SyntheticDataset
  • SyntheticShapes
  • SyntheticSegmentation
  • SyntheticSequence
  • TrainTestSplit
  • ResizeTransform
  • ToTensorTransform
  • NormalizeTransform
  • RandomCrop
  • RandomHorizontalFlip
  • RandomRotation
  • ColorJitter
  • RandAugment
  • ComposeTransform
  • Map
  • Reduce
  • Switch
  • Conv2d
  • Conv1d
  • Conv2dExplicit
  • ConvTranspose2d
  • MaxPool2d
  • AvgPool2d
  • AdaptiveAvgPool2d
  • BatchNorm2d
  • Dropout
  • Activation
  • LSTM
  • GRU
  • RNNCell
  • MultiHeadAttention
  • TransformerEncoder
  • TransformerDecoder
  • MoELayer
  • LLMChat
  • Tokenizer
  • WordVector
  • TextEmbedding
  • EmbeddingScatter
  • CosineSimilarity
  • AttentionMask
  • AttentionHeatmap
  • PositionalEncoding
  • CausalLMModel
  • LMCrossEntropyLoss
  • LMTokenizer
  • TextCorpusDataset
  • LMTokenizedDataset
  • DataMixDataset
  • PerplexityEvaluate
  • TextGenerate
  • DocumentLoader
  • TextChunker
  • VectorStore
  • Retriever
  • PromptBuilder
  • HFTextGenerate
  • Upsample
  • TimestepEmbedding
  • Lerp
  • GaussianNoise
  • DDPMSampler
  • DiffusionUNet
  • DiffusionTrainingLoop
  • DQN
  • PPO
  • EnvWrapper
  • RewardModel
  • KLDivergence
  • PolicyRollout
  • PPOClipObjective
  • GroupRelativeAdvantage
  • Discount
  • GridWorldEnv
  • PreferenceDataset
  • BradleyTerryLoss
  • BradleyTerryTrain
  • VLAModel
  • VLARollout
  • VLAActionEval
  • PushWorldEnv
  • PushWorldDemos
  • KNN
  • LinearRegression
  • LogisticRegression
  • DecisionTreeClassifier
  • RandomForestClassifier
  • SVMClassifier
  • MLPClassifier
  • Accuracy
  • Optimizer
  • Loss
  • TrainingLoop
  • EvaluateModel
  • LRScheduler
  • SequentialModel
  • BackwardOnce
  • BatchNorm1d
  • LayerNorm
  • GroupNorm
  • InstanceNorm2d
  • Add
  • MatMul
  • Mean
  • Multiply
  • ScalarMultiply
  • Permute
  • Softmax
  • Argmax
  • Split
  • Squeeze
  • Stack
  • TensorCreate
  • Unsqueeze
  • MaskedFill
  • ImageReader
  • ImageWriter
  • ImageBatchReader
  • FileReader
  • CheckpointSaver
  • CheckpointLoader
  • ModelLoader
  • ModelSaver
  • Inference
  • GraphInput
  • GraphOutput
  • VideoLoad
  • VideoWrite
  • Print
  • Reshape
  • Concat
  • Flatten
  • Linear
  • Visualize
  • Embedding
  • PythonScript
  • ScatterPlot2D
  • DecisionBoundary

為教學而生。

CodefyUI 在教室裡長大。外掛包依照教科書逐章對應,每個 Edu 節點把一個觀念拆成具名的步驟,由教學檢視器一列一列呈現。

教學檢視器

錄下每個節點的完整輸出、比較一個段落起點的輸入與終點的輸出,並開啟詳細內部資訊,看見注意力分數等平常藏在層裡的數值。

教學檢視器如何運作

Edu-ColumnStats

foundations · Classical

母體標準差,一列一個步驟。修改欄位數值,看每一步重新計算。

column
  1. sumΣx
  2. divideΣx ÷ n = 平均
  3. deviations²(x − 平均)²
  4. variance偏差平方的平均
  5. sqrt√變異數 = σ

外掛包

  • foundationsI1 資料表示 · I2 經典 ML
  • deepI3 視覺 · I4 序列
  • rlI5 強化學習
  • eduI1、I2 動手做實驗
  • stats任何資料集的敘述統計
cdui plugin install foundations deep rl

圖能動了,就讓它開始工作。

你在課堂上畫出的同一張圖,可以整晚執行、回應 HTTP 請求,也能放進 git。

  • 執行屬於伺服器,依裝置排隊,所以關掉分頁也不會中斷。對同一張圖以網格或隨機取樣掃描參數。

    了解更多:執行佇列與參數掃描
  • 把儲存的圖凍結成有版本、受 API key 保護的應用程式。每次呼叫都會被記錄,修改畫布不會改變已發佈的內容。

    了解更多:發佈成 API
  • 版本控制分頁可以在專案目錄上暫存、提交、切換分支、pull 與 push,不必離開編輯器。

    了解更多:放進 git
  • ResNet-18 CIFAR-10 範例達到 95.48% 測試準確率,相同種子的兩次執行逐位元相同。

    了解更多:重現基準結果
cdui run
# Submit a graph to the server's queue.
# The run keeps going after the terminal closes.
$ cdui run examples/Usage_Example/CNN-MNIST/TrainCNN-MNIST/graph.json

# Run one graph over a grid of parameter values.
$ curl -X POST http://127.0.0.1:8000/api/sweeps \
    -H "X-CodefyUI-Token: $TOKEN" \
    --data "@sweep.json"

從一張已經能動的圖開始。

範例圖會以分頁開啟。先原樣執行,再把它拆開來看。

瀏覽範例庫

模型架構

  • ResNetCNN
  • ConvNeXtCNN
  • EfficientNetCNN
  • U-NetCNN
  • ViTTransformer
  • Swin TransformerTransformer
  • BERTLLM
  • GPTLLM
  • LLaMALLM
  • DiTDiffusion
  • LSTM 時間序列RNN
  • BiGRU 語音辨識RNN
  • Seq2Seq 注意力RNN
  • DQN AtariRL
  • PPO 機器人控制RL

動手做

  • 在 MNIST 上訓練 CNN
  • 在 CIFAR-10 上訓練 ResNet-18
  • king − man + woman ≈ queen
  • 完全本機的 RAG
  • 在 TinyStories 上預訓練語言模型
  • 在數字上做前向擴散
  • 專家混合路由
  • 在 PushWorld 上訓練 VLA

一個新節點,就是一個 Python 檔。

繼承 BaseNode、宣告連接埠與參數,把檔案放進 custom_nodes。重新載入後,它就會以自己的卡片出現在節點庫中。

外掛

從外掛中心或終端機安裝外掛包。第三方外掛來自 GitHub,固定到特定 commit,並在載入前先經過檢查。

cdui plugin install owner/repo

社群外掛 Graph Copilot 可以透過聊天建立與修改圖,支援 OpenAI、Claude、OpenRouter 或本機模型。

backend/app/custom_nodes/my_node.pyPython
from app.core.node_base import BaseNode, DataType, PortDefinition


class MyNode(BaseNode):
    NODE_NAME = "MyNode"
    CATEGORY = "Custom"
    DESCRIPTION = "Does something"

    @classmethod
    def define_inputs(cls):
        return [PortDefinition(name="input", data_type=DataType.TENSOR)]

    @classmethod
    def define_outputs(cls):
        return [PortDefinition(name="output", data_type=DataType.TENSOR)]

    def execute(self, inputs, params):
        return {"output": inputs["input"]}

一行指令完成安裝。

安裝程式會準備好 git、uv 與 Python,下載預先建置的編輯器,並依你的 GPU 挑選 PyTorch 版本。不需要 Node.js。

支援 CPU、NVIDIA CUDA、Apple Silicon MPS 與 AMD ROCm。

完整安裝指南
  1. 01

    安裝

    curl -fsSL https://raw.githubusercontent.com/CodefyUI/CodefyUI/main/install.sh | bash
  2. 02

    在任何新的終端機啟動伺服器

    cdui start
  3. 03

    開啟編輯器

    localhost:8000

自由使用,原始碼公開。

CodefyUI 以 AGPL-3.0 授權。依原樣在筆電、實驗室或學校伺服器上執行,不需要商業授權。若需要閉源、SaaS 或 OEM 使用,可向維護者取得商業授權。

在 GitHub 上加星