Improve model path resolution and enforce offline environment variables for diffusion generation
This commit is contained in:
@@ -361,9 +361,16 @@ async fn generate_map(
|
|||||||
let scheduler = cfg.scheduler.unwrap_or_else(|| "dpmsolver-sde".to_string());
|
let scheduler = cfg.scheduler.unwrap_or_else(|| "dpmsolver-sde".to_string());
|
||||||
let upscale = cfg.upscale.unwrap_or_else(|| "none".to_string());
|
let upscale = cfg.upscale.unwrap_or_else(|| "none".to_string());
|
||||||
let seam_inpaint = cfg.seam_inpaint.unwrap_or(false);
|
let seam_inpaint = cfg.seam_inpaint.unwrap_or(false);
|
||||||
|
let local_model_path = root.join("models").join("sdxl360Diffusion_v10.safetensors");
|
||||||
let model_path = cfg
|
let model_path = cfg
|
||||||
.model_path
|
.model_path
|
||||||
.unwrap_or_else(|| "proximasan/sdxl-360-diffusion".to_string());
|
.unwrap_or_else(|| {
|
||||||
|
if local_model_path.exists() {
|
||||||
|
local_model_path.to_string_lossy().to_string()
|
||||||
|
} else {
|
||||||
|
"ProGamerGov/sdxl-360-diffusion".to_string()
|
||||||
|
}
|
||||||
|
});
|
||||||
let base_model = cfg
|
let base_model = cfg
|
||||||
.base_model
|
.base_model
|
||||||
.unwrap_or_else(|| "stabilityai/stable-diffusion-xl-base-1.0".to_string());
|
.unwrap_or_else(|| "stabilityai/stable-diffusion-xl-base-1.0".to_string());
|
||||||
@@ -444,7 +451,10 @@ async fn generate_map(
|
|||||||
&mut log_file,
|
&mut log_file,
|
||||||
format!(" program: {}", python.to_string_lossy()),
|
format!(" program: {}", python.to_string_lossy()),
|
||||||
);
|
);
|
||||||
write_log_line(&mut log_file, " env: PYTHONUNBUFFERED=1");
|
write_log_line(
|
||||||
|
&mut log_file,
|
||||||
|
" env: PYTHONUNBUFFERED=1 HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 DIFFUSERS_OFFLINE=1",
|
||||||
|
);
|
||||||
for arg in &args {
|
for arg in &args {
|
||||||
write_log_line(&mut log_file, format!(" arg: {arg}"));
|
write_log_line(&mut log_file, format!(" arg: {arg}"));
|
||||||
}
|
}
|
||||||
@@ -453,6 +463,9 @@ async fn generate_map(
|
|||||||
let mut cmd = Command::new(&python);
|
let mut cmd = Command::new(&python);
|
||||||
cmd.current_dir(&root)
|
cmd.current_dir(&root)
|
||||||
.env("PYTHONUNBUFFERED", "1")
|
.env("PYTHONUNBUFFERED", "1")
|
||||||
|
.env("HF_HUB_OFFLINE", "1")
|
||||||
|
.env("TRANSFORMERS_OFFLINE", "1")
|
||||||
|
.env("DIFFUSERS_OFFLINE", "1")
|
||||||
.stdout(Stdio::piped())
|
.stdout(Stdio::piped())
|
||||||
.stderr(Stdio::piped());
|
.stderr(Stdio::piped());
|
||||||
for arg in &args {
|
for arg in &args {
|
||||||
|
|||||||
Reference in New Issue
Block a user