Spaces:
Sleeping
Sleeping
model-specific image for forward process
Browse files
app.js
CHANGED
|
@@ -178,14 +178,16 @@ async function handleModelEvent(event) {
|
|
| 178 |
function loadImage(image, label) { const canvas = document.createElement('canvas'); canvas.width = SIZE; canvas.height = SIZE; const context = canvas.getContext('2d'); const scale = Math.max(SIZE / image.width, SIZE / image.height); const width = image.width * scale; const height = image.height * scale; context.drawImage(image, (SIZE - width) / 2, (SIZE - height) / 2, width, height); sourcePixels = canvasPixels(canvas); imageLabel = label; reverseInputMode = 'seed'; reverseNoiseState = makeNoiseState(readSeed()); forwardRevealCount = 1; forwardCompleted = false; resetProgress('forward'); computeForwardStates(); renderTracks(); }
|
| 179 |
modelInput.addEventListener('change', () => {
|
| 180 |
applyTimesteps();
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
}
|
|
|
|
|
|
|
| 189 |
});
|
| 190 |
elements.applyTimesteps.addEventListener('click', applyTimesteps); elements.timestepsInput.addEventListener('keydown', (event) => { if (event.key === 'Enter') applyTimesteps(); });
|
| 191 |
elements.randomizeSeed.addEventListener('click', () => { resampleNoise(); elements.configError.textContent = ''; forwardRevealCount = 1; forwardCompleted = false; resetProgress('forward'); computeForwardStates(); renderTracks(); });
|
|
|
|
| 178 |
function loadImage(image, label) { const canvas = document.createElement('canvas'); canvas.width = SIZE; canvas.height = SIZE; const context = canvas.getContext('2d'); const scale = Math.max(SIZE / image.width, SIZE / image.height); const width = image.width * scale; const height = image.height * scale; context.drawImage(image, (SIZE - width) / 2, (SIZE - height) / 2, width, height); sourcePixels = canvasPixels(canvas); imageLabel = label; reverseInputMode = 'seed'; reverseNoiseState = makeNoiseState(readSeed()); forwardRevealCount = 1; forwardCompleted = false; resetProgress('forward'); computeForwardStates(); renderTracks(); }
|
| 179 |
modelInput.addEventListener('change', () => {
|
| 180 |
applyTimesteps();
|
| 181 |
+
const selectedModel = modelInput.value;
|
| 182 |
+
const source = selectedModel === 'google/ddpm-cifar10-32'
|
| 183 |
+
? { path: 'assets/cifar10_train_23_32.png', label: 'CIFAR-10 train 23' }
|
| 184 |
+
: { path: 'assets/celeba_hq_validation_91_256.png', label: 'Human face' };
|
| 185 |
+
const image = new Image();
|
| 186 |
+
image.onload = () => {
|
| 187 |
+
if (modelInput.value === selectedModel) loadImage(image, source.label);
|
| 188 |
+
};
|
| 189 |
+
image.onerror = () => setModelStatus('Could not load the selected model’s source image.');
|
| 190 |
+
image.src = source.path;
|
| 191 |
});
|
| 192 |
elements.applyTimesteps.addEventListener('click', applyTimesteps); elements.timestepsInput.addEventListener('keydown', (event) => { if (event.key === 'Enter') applyTimesteps(); });
|
| 193 |
elements.randomizeSeed.addEventListener('click', () => { resampleNoise(); elements.configError.textContent = ''; forwardRevealCount = 1; forwardCompleted = false; resetProgress('forward'); computeForwardStates(); renderTracks(); });
|
app.py
CHANGED
|
@@ -320,10 +320,11 @@ def change_source(filepath, seed, checkpoint_text, model_id=MODEL_ID):
|
|
| 320 |
|
| 321 |
|
| 322 |
def change_model(seed, checkpoint_text, image, model_id):
|
| 323 |
-
|
| 324 |
-
|
| 325 |
-
|
| 326 |
-
|
|
|
|
| 327 |
|
| 328 |
|
| 329 |
def show_checkpoint_preview(gallery, event: gr.SelectData):
|
|
|
|
| 320 |
|
| 321 |
|
| 322 |
def change_model(seed, checkpoint_text, image, model_id):
|
| 323 |
+
source_paths = {
|
| 324 |
+
MODEL_ID: ROOT / "assets/celeba_hq_validation_91_256.png",
|
| 325 |
+
"google/ddpm-cifar10-32": ROOT / "assets/cifar10_train_23_32.png",
|
| 326 |
+
}
|
| 327 |
+
return change_source(source_paths[model_id], seed, checkpoint_text, model_id)
|
| 328 |
|
| 329 |
|
| 330 |
def show_checkpoint_preview(gallery, event: gr.SelectData):
|