赞
踩
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
我不生产内容,我只是大自然的搬运工。适合有编程基础的人看。(电脑是windowXp系统)
效果图(训练70个世代之后)
创建虚拟环境各种安装依赖、编辑器的工具平台,开发者的专属应用商店,需要什么就往这儿找。
自己百度去。
第一、安装要正确
一定是安装Anaconda而不是conda
安装成功之后;点击所有应用=》ancaconda3==>
应该包含Anaconda Promt、Anaconda Navigator、Spyder
第二、可以不用配置环境变量
第三、选择Just Me
随便搜的链接:感谢博主分享https://blog.csdn.net/m0_61607990/article/details/129531686
最重要的学会使用导航(功能类似应用商店)去下载自己想要的依赖和编辑器
1.创建虚拟环境(可以自己查询一下Anconda虚拟环境默认保存位置更换,更换到D盘感觉比较好)
2.下载模块
3.增加渠道(Channels按钮)这个渠道多了可以下载的模块就多了(个人理解)
命令行输入的地方,自己探索
查看安装的包
conda list
查看Anconda版本
conda -V
创建虚拟环境
conda create --name xxx python=3.8
查看所有虚拟环境(直接看网址)
https://blog.csdn.net/qq_49141095/article/details/130276262
去哪儿学
【[双语字幕]吴恩达深度学习deeplearning.ai】
https://www.bilibili.com/video/BV1FT4y1E74V/?share_source=copy_web&vd_source=7e38fcd1291f26d62ce3ba45bbb935ab
课后作业总结:
https://zhuanlan.zhihu.com/p/95510114
学哪些
L1、L2、L4课程
怎么学
看一个阶段写一个阶段的练习
重要
整理文档 该网址里有很多环境安装过程
https://blog.csdn.net/shaqilaixi2/article/details/128491193
去哪儿看
【00 预告【动手学深度学习v2】】 https://www.bilibili.com/video/BV1if4y147hS/?share_source=copy_web&vd_source=7e38fcd1291f26d62ce3ba45bbb935ab
课程主页: https://courses.d2l.ai/zh-v2
教材: https://zh-v2.d2l.ai/
课程论坛讨论: https://discuss.d2l.ai/c/16
Pytorch论坛: https://discuss.pytorch.org/
代码:https://github.com/d2l-ai/d2l-zh-pytorch-slides
这一步就是下载代码,使用代码,有两个点需要注意
1.B导的Json转换png的代码会报错 我会再后面填修改的代码(忘记是哪一位博主提供的)
2.环境搭配都是命令行的,我自己总结步骤(新手友好可行在后续步骤里)
1、参考博文
https://blog.csdn.net/weixin_44791964/article/details/108866828
配套视频
【Pytorch 搭建自己的Unet语义分割平台(Bubbliiiing 深度学习 教程)】
https://www.bilibili.com/video/BV1rz4y117rR/?share_source=copy_web
打开Anconda 导航==》首页==》左下角创建虚拟环境==》弹框写环境名字pytorch-uet 选择python版本3.8.17==》点击创建==》等很长一段时间一直等到创建好为止
scipy
numpy
matplotlib
opencv_python
torch
torchvision
tqdm
Pillow
h5py
tensorboard
Anaconda 导航==》选择虚拟环境 pytorch-uet(名字可以自己起)==》选择not installed >右上角输入torch 》搜索》点击下载pytorch 右下角点击apply >等待》弹框点击apply》 ==>又是漫长的等待
选择not installed >右上角输入torch 》搜索torchvision》点击下载torchvision 右下角点击apply >等待》弹框点击apply》 ==>又是漫长的等待
选择not installed >右上角输入torch 》搜索opencv》点击下载py-opencv 右下角点击apply >等待》弹框点击apply》 ==>又是漫长的等待
需要先添加渠道
1.打开Anconada Prompt==>激活pytorch-uet 环境 输入命令行 conda activate pytorch-uet 激活=》
输入命令行
conda config --append channels conda-forge
然后再输入命令行
conda install labelme
出现 y/n=>输入y
每次使用labelme都需要通过命令行进入
1.打开Anconada prompt
2.激活 pytorch-uet环境 conda activate pytorch-uet
3.输入labelme
点击打开目录进入数据集开始标注
点击file设置自动保存
绘制多边形
快捷键 A上一张图片 D下一张图片
使用命令行看 或者在anconda 导航里的虚拟环境左下角有标明路径
2、
# CreatTime: 2023/8/11 # FileName:newdatatojson # Descriptiot:解释 import argparse import base64 import json import os import os.path as osp import cv2 import imgviz import PIL.Image import numpy from labelme.logger import logger from labelme import utils def main(): logger.warning( "This script is aimed to demonstrate how to convert the " "JSON file to a single image dataset." ) logger.warning( "It won't handle multiple JSON files to generate a " "real-use dataset." ) # json_file是标注完之后生成的json文件的目录。out_dir是输出目录,即数据处理完之后文件保存的路径 json_file = r"./datasets/before/" out_dir1 = r"./datasets/SegmentationClass" out_dir2 = r"./datasets/JPEGImages" # 如果输出的路径不存在,则自动创建这个路径 # if not osp.exists(out_dir1): # os.mkdir(out_dir1) # 将类别名称转换成数值,以便于计算 label_name_to_value = { "_background_": 0, "road": 1, } for file_name in os.listdir(json_file): # 遍历json_file里面所有的文件,并判断这个文件是不是以.json结尾 if file_name.endswith(".json"): path = os.path.join(json_file, file_name) if os.path.isfile(path): data = json.load(open(path)) # 获取json里面的图片数据,也就是二进制数据 imageData = data.get("imageData") # 如果通过data.get获取到的数据为空,就重新读取图片数据 if not imageData: imagePath = os.path.join(json_file, data["imagePath"]) with open(imagePath, "rb") as f: imageData = f.read() imageData = base64.b64encode(imageData).decode("utf-8") # 将二进制数据转变成numpy格式的数据 img = utils.img_b64_to_arr(imageData) for shape in sorted(data["shapes"], key=lambda x: x["label"]): label_name = shape["label"] if label_name in label_name_to_value: label_value = label_name_to_value[label_name] else: label_value = len(label_name_to_value) label_name_to_value[label_name] = label_value lbl, _ = utils.shapes_to_label(img.shape, data["shapes"], label_name_to_value) # print(lbl) label_names = [None] * (max(label_name_to_value.values()) + 1) for name, value in label_name_to_value.items(): label_names[value] = name lbl_viz = imgviz.label2rgb( label=lbl, image=imgviz.asgray(img), label_names=label_names, loc="rb" ) # out_dir = osp.basename(file_name).replace('.', '_') # out_dir = osp.join(out_dir1, out_dir) # if not osp.exists(out_dir): # os.mkdir(out_dir) # print(out_dir) # 将输出结果保存, # PIL.Image.fromarray(img).save(osp.join(out_dir1, "%s_img.jpg" % file_name.split(".")[0])) utils.lblsave(osp.join(out_dir1, "%s.png" % file_name.split(".")[0]), lbl) # PIL.Image.fromarray(lbl_viz).save(osp.join(out_dir1, "%s_label_viz.png"%file_name.split(".")[0])) # with open(osp.join(out_dir, "label_names.txt"), "w") as f: # for lbl_name in label_names: # f.write(lbl_name + "\n") logger.info("Saved to: {}".format(out_dir1)) else: path = os.path.join(json_file, file_name) path2 = os.path.join(out_dir2, file_name) img = cv2.imread(path) cv2.imwrite(path2[0:-4]+'.jpg', img) print("label:", label_name_to_value) if __name__ == "__main__": main()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。