ControlNet
Let us control diffusion models!
ControlNet: steering diffusion models with extra conditions
ControlNet adds extra conditions to diffusion models by keeping a locked copy of the weights and training a parallel copy on image pairs.
How the weights are split
ControlNet is a neural network structure for controlling diffusion models by adding extra conditions. The README explains the mechanism in one idea. The weights of the neural network blocks are copied into two versions: a locked copy and a trainable copy. The locked copy stays as it is, and the trainable copy learns to interpret the extra conditions without disturbing the original model. What makes it different from a plain fine tune is that the original weights never move, so the model you already trust keeps behaving as it always has.
Why training stays cheap
The split is what keeps training practical. Because the original weights are locked, training can use a small dataset of image pairs without destroying production ready diffusion models. That is the key trade the design buys. You steer the model with conditions while leaving the underlying generation ability intact, and you can do it without a massive fine tuning run. The conditions act as steering signals, and the README keeps the whole explanation to a few sentences.
Where 1.1 stands
The version story is written in the README order. A nightly version of ControlNet 1.1 was released, with new models to be merged into the repository after verification. Below that, the README documents ControlNet 1.0 and describes the network structure for controlling diffusion models by adding extra conditions. The repository is maintained by the ControlNet developer. The nightly note suggests the project is active, but the verified merge path is where new models land. For anyone who wants the latest behavior, the nightly build is where to look, with the stable line documented below it.
Community notes