深度学习环境配置教学
本文最后更新于8 天前,其中的信息可能已经过时,如有错误请留言

Anaconda 是一个开源的 Python/R 数据科学开发环境与包管理工具,简单说就是帮你一站式搞定 Python 环境配置、第三方库安装和管理的 “工具箱”。

https://www.anaconda.com/

https://pytorch.org/get-started/previous-versions

conda是支持开辟一个新的空间,叫做虚拟环境,就是一个项目可以用一个专有的环境,不会和其他版本的包冲突了,当然会占用内存,嫌弃它占用内存的话,跑完当前的项目之后用命令conda remove -n 环境名 –all就可以腾出空间了

conda create -n 虚拟环境名称 python=3.10

# To activate this environment, use
#
#     $ conda activate crack
#
# To deactivate an active environment, use
#
#     $ conda deactivate

报错:

ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'

你的 当前工作目录不是 requirements.txt 所在目录。虽然你在 VSCode 左边看到文件,但 终端工作目录必须和文件路径一致

空间不够:

续使用现有 Conda(只是把 envs 和 pkgs 移到 D 盘)

conda config --add envs_dirs D:\conda\envs
conda config --add pkgs_dirs D:\conda\pkgs

方案 A(最简单):不用 environment.yml,手动创建环境

Anaconda Prompt 或 VS Code 终端里执行下面几行就行(确保在任意目录都可以):

conda create -n crackseg python=3.10
conda activate crackseg

pip install torch torchvision numpy opencv-python pillow matplotlib tqdm

成功后用:

conda env list

能看到一行 crackseg,说明环境 OK,然后就可以在项目目录里跑:

python train.py

LabelMe 画多边形

在当前环境装一下 labelme(只装一次即可):pip install labelme

在终端里启动 LabelMe:labelme

在 LabelMe 里打开你的原图(比如 0001.jpg),用多边形工具沿着裂缝画一条带宽度的多边形,label 填写:crack
一张图标完后保存,会得到 0001.json 文件(和图片同名)。

把这些 json 放到(可以分 train/val 两个子文件夹):

data/labelme_json/train/
data/labelme_json/val/

回到终端(确保还是在 D:\crack-segmentation,环境是 crackseg),生成 mask:

# 训练集
python labelme_to_mask.py ^
    --json_dir data/labelme_json/train ^
    --out_dir data/masks/train ^
    --target_label crack

# 验证集
python labelme_to_mask.py ^
    --json_dir data/labelme_json/val ^
    --out_dir data/masks/val ^
    --target_label crack

生成后你会在 data/masks/traindata/masks/val 里看到和图片同名的 *.png,黑底白裂缝。

运行自动标注脚本,一次性生成 4000+ masks

在终端里确保:

(crackseg) D:\crack-segmentation>

然后依次执行:

# 为训练集生成自动 mask
python auto_annotate.py ^
    --input_dir data/images/train ^
    --output_dir data/masks/train

# 为验证集生成自动 mask
python auto_annotate.py ^
    --input_dir data/images/val ^
    --output_dir data/masks/val

几条说明:

  • 脚本会 自动遍历目录里的所有图片,生成与图片同名的 *.png mask。
  • 你可以根据效果适当调参数,比如: python auto_annotate.py ^ --input_dir data/images/train ^ --output_dir data/masks/train ^ --min_area 80 ^ --clip_limit 3.0
    • min_area 大一点:过滤更多“小点点噪声”;
    • clip_limit 大一点:增强对比度,更容易把细裂缝凸显出来。

跑完之后,你的 data/masks/train / data/masks/val 里会有一堆 xxx.png,黑底白裂缝

学习笔记如有侵权,请提醒我,我会马上删除
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇