parent
97425b620d
commit
e98d13fb30
@ -0,0 +1,91 @@
|
||||
#!/bin/bash
|
||||
|
||||
#=============================================================================
|
||||
# Glaze 风格保护攻击脚本
|
||||
# 用于保护艺术作品免受 AI 模型的风格模仿
|
||||
#=============================================================================
|
||||
|
||||
### ===================== 环境配置 ===================== ###
|
||||
|
||||
export HF_HUB_OFFLINE=1
|
||||
# 强制使用本地模型缓存,避免联网下载模型
|
||||
|
||||
export PYTHONWARNINGS="ignore"
|
||||
# 忽略所有警告
|
||||
|
||||
export CUDA_LAUNCH_BLOCKING=0
|
||||
# CUDA 异步执行
|
||||
|
||||
### ===================== 模型路径 ===================== ###
|
||||
|
||||
# Stable Diffusion v1.5 模型路径
|
||||
export MODEL_PATH="../../static/hf_models/hub/models--runwayml--stable-diffusion-v1-5/snapshots/451f4fe16113bff5a5d2269ed5ad43b0592e9a14"
|
||||
|
||||
### ===================== 任务配置 ===================== ###
|
||||
|
||||
export TASKNAME="task003"
|
||||
|
||||
# 待保护的原始图像目录
|
||||
export INSTANCE_DIR="../../static/originals/${TASKNAME}"
|
||||
|
||||
# 保护后图像的输出目录
|
||||
export OUTPUT_DIR="../../static/perturbed/${TASKNAME}"
|
||||
|
||||
### ===================== 创建必要目录 ===================== ###
|
||||
|
||||
echo "=============================================="
|
||||
echo " 艺术风格保护"
|
||||
echo "=============================================="
|
||||
echo ""
|
||||
echo "创建必要目录..."
|
||||
mkdir -p "$INSTANCE_DIR"
|
||||
mkdir -p "$OUTPUT_DIR"
|
||||
echo "目录创建完成。"
|
||||
echo ""
|
||||
|
||||
### ===================== 清空输出目录 ===================== ###
|
||||
|
||||
echo "清空输出目录: $OUTPUT_DIR"
|
||||
find "$OUTPUT_DIR" -mindepth 1 -delete 2>/dev/null || true
|
||||
echo "输出目录已清空。"
|
||||
echo ""
|
||||
|
||||
### ===================== 显示配置 ===================== ###
|
||||
|
||||
echo "当前配置:"
|
||||
echo " - 模型路径: $MODEL_PATH"
|
||||
echo " - 输入目录: $INSTANCE_DIR"
|
||||
echo " - 输出目录: $OUTPUT_DIR"
|
||||
echo " - 任务名称: $TASKNAME"
|
||||
echo ""
|
||||
|
||||
# 目标风格 (target_style) 固定可选: Glaze 会将图像的 AI 特征向此风格偏移
|
||||
# - "impressionism painting by van gogh" (默认,梵高印象派)
|
||||
# - "abstract art by kandinsky" (康定斯基抽象艺术)
|
||||
# - "cubism painting by picasso" (毕加索立体主义)
|
||||
# - "oil painting in baroque style" (巴洛克风格油画)
|
||||
### ===================== 运行 Glaze ===================== ###
|
||||
|
||||
echo "开始风格迁移保护..."
|
||||
echo ""
|
||||
|
||||
CUDA_VISIBLE_DEVICES=0 python ../algorithms/glaze.py \
|
||||
--pretrained_model_name_or_path=$MODEL_PATH \
|
||||
--instance_data_dir=$INSTANCE_DIR \
|
||||
--output_dir=$OUTPUT_DIR \
|
||||
--resolution=512 \
|
||||
--center_crop \
|
||||
--max_train_steps=150 \
|
||||
--eps=0.04 \
|
||||
--target_style="impressionism painting by van gogh" \
|
||||
--style_strength=0.75 \
|
||||
--n_runs=3 \
|
||||
--style_transfer_iter=15 \
|
||||
--guidance_scale=7.5 \
|
||||
--seed=42
|
||||
|
||||
echo ""
|
||||
echo "=============================================="
|
||||
echo " 艺术风格防护处理完成!"
|
||||
echo " 输出保存至: $OUTPUT_DIR"
|
||||
echo "=============================================="
|
||||
Loading…
Reference in new issue