#!/bin/bash
MODEL_ZOO_SOURCE_DIR="model_zoo路径"
COGVLM_SOURCE_DIR="Cogvlm路径"
WEIGHT_SOURCE_DIR="HF权重路径"
rename_file() {
local ORIGINAL_FILE_PATH=$1
local BACKUP_FILE_PATH
local FILE_NAME=$(basename "$ORIGINAL_FILE_PATH")
local DIRECTORY_PATH=$(dirname "$ORIGINAL_FILE_PATH")
local BACKUP_FILE_NAME="${FILE_NAME}.modelzoobackup"
BACKUP_FILE_PATH="$DIRECTORY_PATH/$BACKUP_FILE_NAME"
if [ ! -f "$ORIGINAL_FILE_PATH" ]; then
echo "Error: Original file '$ORIGINAL_FILE_PATH' does not exist."
return 1
fi
if [ -e "$BACKUP_FILE_PATH" ]; then
echo "Warning: Backup file '$BACKUP_FILE_PATH' already exists."
fi
mv "$ORIGINAL_FILE_PATH" "$BACKUP_FILE_PATH"
echo "Backup created: $BACKUP_FILE_PATH (from $ORIGINAL_FILE_PATH)"
}
copy_file() {
local SOURCE_FILE=$1
local DESTINATION_FILE=$2
if [ ! -f "$SOURCE_FILE" ]; then
echo "错误:源文件 '$SOURCE_FILE' 不存在。"
return 1
fi
cp "$SOURCE_FILE" "$DESTINATION_FILE"
if [ $? -eq 0 ]; then
echo "文件拷贝成功,从 '$SOURCE_FILE' 到 '$DESTINATION_FILE'。"
else
echo "错误:文件拷贝失败。"
fi
}
if [ ! -d "$MODEL_ZOO_SOURCE_DIR" ]; then
echo "Error: Source directory $MODEL_ZOO_SOURCE_DIR does not exist."
exit 1
fi
if [ ! -d "$COGVLM_SOURCE_DIR" ]; then
echo "Error: Source directory $COGVLM_SOURCE_DIR does not exist."
exit 1
fi
if [ ! -d "$WEIGHT_SOURCE_DIR" ]; then
echo "Error: Source directory $WEIGHT_SOURCE_DIR does not exist."
exit 1
fi
modeling_cogvlm_model_zoo_path="$MODEL_ZOO_SOURCE_DIR/code/modeling_cogvlm.py"
rotary_embeddings_model_zoo_path="$MODEL_ZOO_SOURCE_DIR/code/rotary_embeddings.py"
visual_model_zoo_path="$MODEL_ZOO_SOURCE_DIR/code/visual.py"
inference_model_zoo_path="$MODEL_ZOO_SOURCE_DIR/code/inference.py"
env_npu_model_zoo_path="$MODEL_ZOO_SOURCE_DIR/env_npu.sh"
modeling_cogvlm_weight_path="$WEIGHT_SOURCE_DIR/modeling_cogvlm.py"
visual_weight_path="$WEIGHT_SOURCE_DIR/visual.py"
finetune_demo_cogvlm_path="$COGVLM_SOURCE_DIR/finetune_demo/"
rename_file $modeling_cogvlm_weight_path
rename_file $visual_weight_path
copy_file $modeling_cogvlm_model_zoo_path $(dirname "$modeling_cogvlm_weight_path")
copy_file $rotary_embeddings_model_zoo_path $(dirname "$modeling_cogvlm_weight_path")
copy_file $visual_model_zoo_path $(dirname "$modeling_cogvlm_weight_path")
copy_file $inference_model_zoo_path $finetune_demo_cogvlm_path
copy_file $env_npu_model_zoo_path $finetune_demo_cogvlm_path
echo "All files copied successfully."