核心内容摘要
心海腿法娴熟:解锁人生新篇章的秘密武器
魔乐 下载模型 modelers.cn 下载下来的模型文件0kb文件其实是硬链接需要转换后才能用当你使用默认的下载方式https://modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B不要用他默认的下载方式参数默认会生成硬链接文件可以让ai帮你修改from openmind_hubimportsnapshot_download snapshot_download(repo_idState_Cloud/DeepSeek-R1-Distill-Qwen-32B,token222,repo_typemodel,cache_dir/path/to/your/custom/folder# 指定自定义路径)下载下载的文件是这样子的C:\Users\Administrator.cache\openmind\hub\models–State_Cloud–DeepSeek-R1-Distill-Qwen-32B\snapshots\6d186669464fdab90c5112365f56af29589ebfb6里面是0kb文件 然后硬链接到了blob目录1 事先解决办法首先一开始直接要求不要用链接方式# 移动和华为的魔乐平台# 先安装依赖pip install openmind_hubfrom openmind_hubimportsnapshot_downloadimportos# 建议使用绝对路径避免路径问题# Windows示例cache_dir D:/models/deepseek# Linux/Mac示例cache_dir /home/your_username/models/deepseekcache_diros.path.abspath(deepseek)# 自动转换为当前目录的绝对路径# 下载模型开启断点续传snapshot_download(repo_idState_Cloud/DeepSeek-R1-Distill-Qwen-32B,token1111,# 替换为你的魔乐平台有效token必填否则无法下载repo_typemodel,local_files_onlyFalse,# 设为False才会从远程下载True仅使用本地文件cache_dircache_dir,# 本地缓存/下载路径resume_downloadTrue,# 开启断点续传核心参数local_dir_use_symlinksFalse,# 关键禁用符号链接直接写实体文max_workers4,# 下载线程数根据网络调整避免线程过多导致报错ignore_patterns[*.bin.index.json]# 可选忽略不必要的小文件加速下载)2 如果已经下载好了 ,可以转换一下即可注意不要用复制的方式比较卡importosimportshutil from pathlibimportPathimportsys# 仅修改这2个路径 # 你提供的快照目录全是符号链接的那个文件夹SNAPSHOT_DIRrC:\Users\Administrator\.cache\openmind\hub\models--State_Cloud--DeepSeek-R1-Distill-Qwen-32B\snapshots\6d186669464fdab90c5112365f56af29589ebfb6# 导出的新目录最终上传用的纯净文件夹自定义位置EXPORT_DIRrc:\DeepSeek-R1-Qwen-32B# # 安全确认提醒移动后原缓存失效print(⚠️ 警告该操作会将blobs中的模型文件移动到目标目录原openmind缓存将失效)confirminput(是否继续(输入 y 确认其他键取消))ifconfirm.lower()!y:print(操作已取消)sys.exit(
# 自动定位blobs真实目录model_root_dirPath(SNAPSHOT_DIR).parent.parent# 定位到 models--xxx 根目录blobs_dirmodel_root_dir /blobsos.makedirs(EXPORT_DIR,exist_okTrue)forentryinos.scandir(SNAPSHOT_DIR):ifentry.is_dir(follow_symlinksFalse):# 跳过figures这类空文件夹如需保留可注释此行continuesrc_pathPath(entry.path)dst_nameentry.name dst_pathPath(EXPORT_DIR)/ dst_name try:# 先删除目标目录中已存在的同名文件避免移动冲突ifdst_path.exists(): dst_path.unlink()print(f️ 删除目标目录已有文件: {dst_name})ifsrc_path.is_symlink():#
读取符号链接指向的blobs真实文件link_targetos.readlink(src_path)real_fileblobs_dir / Path(link_target).nameifreal_file.exists():#
移动剪切真实文件到目标目录并重命名为原链接文件名shutil.move(str(real_file), str(dst_path))print(f✅ 移动并改名成功: {real_file.name} → {dst_name})#
删除原快照目录中的符号链接文件src_path.unlink()print(f️ 删除原符号链接: {src_path.name})else: print(f❌ 真实文件不存在: {real_file})else:# 非链接文件如配置文件直接移动shutil.move(str(src_path), str(dst_path))print(f✅ 移动配置文件成功: {dst_name})except PermissionError: print(f⚠️ 权限不足无法操作 {dst_name}请以管理员身份运行脚本)except Exception as e: print(f⚠️ 处理失败 {dst_name}: {str(e)})# 可选删除blobs空目录如果需要# if not any(blobs_dir.iterdir()):# blobs_dir.rmdir()# print(️ 删除空的blobs目录)print(f\n✅ 操作完成可上传目录{EXPORT_DIR})print( 该目录下全是实体文件无符号链接可直接上传到virtaicloud.com)这样就可以了其他资料你发现下载完成后模型目录下的config.json、model-xxx.safetensors等文件显示为0KB的符号链接symlink而实际的大文件都存放在blobs子目录中想确认这是否正常以及该如何正确使用这些文件。
核心说明这是正常现象并非下载失败openmind_hub和huggingface_hub采用内容寻址存储CAS设计你看到的0KB文件其实是符号链接软链接——它们本身不存储数据只是指向blobs目录中对应的实际大文件。
这种设计的目的是避免重复下载如果多个模型共享相同的文件只会存储一份节省磁盘空间通过链接复用文件而非复制。
从你提供的信息来看blobs目录下有多个GB级的大文件比如3,978,342 KB、8,571,199 KB等说明模型已经成功下载完成0KB的符号链接是正常的中间层。
如何正确加载使用该模型你不需要手动处理blobs目录或符号链接直接使用模型库如transformers加载上层目录即可库会自动解析符号链接找到实际的模型文件。
以下是完整的加载示例额外