当前位置: 首页 > news >正文

网站建设需要做什么准备工作最近热搜新闻事件

网站建设需要做什么准备工作,最近热搜新闻事件,内蒙古住房建设厅网站,石家庄软件公司排名人这辈子千万不要马虎两件事 一是找对爱人、二是选对事业 因为太阳升起时要投身事业 太阳落山时要与爱人相拥 一、准备数据集 蚂蚁蜜蜂数据集 蚂蚁蜜蜂的图片,文件名就是数据的label 二、使用Dataset加载数据 打开pycharm,选择Anaconda创建的pytorch环…

人这辈子千万不要马虎两件事

一是找对爱人、二是选对事业

因为太阳升起时要投身事业

太阳落山时要与爱人相拥

一、准备数据集

蚂蚁蜜蜂数据集

蚂蚁蜜蜂的图片,文件名就是数据的label

二、使用Dataset加载数据

打开pycharm,选择Anaconda创建的pytorch环境

将数据集放在项目的根目录下,并修改文件名

 新建 read_data.py文件,编写如下代码

from torch.utils.data import Dataset
from PIL import Image
import osclass MyData(Dataset):# 获取训练数据的listdef __init__(self, root_dir, label_dir):self.root_dir = root_dirself.label_dir = label_dirself.path = os.path.join(self.root_dir, self.label_dir)self.img_path = os.listdir(self.path)# 获取每一张图片及其labeldef __getitem__(self, idx):img_name = self.img_path[idx]img_item_path = os.path.join(self.root_dir, self.label_dir, img_name)img = Image.open(img_item_path)label = self.label_dirreturn img, labeldef __len__(self):return len(self.img_path)root_dir = "dataset/train"
ant_label_dir = "ants"
bee_label_dir = "bees"
ants_dataset = MyData(root_dir, ant_label_dir)
bees_dataset = MyData(root_dir, bee_label_dir)train_dataset = ants_dataset + bees_dataset

解释:

1. MyData继承Dataset类

2. 重写里面的__init__方法,在MyData类初始化时,通过拼接数据路径,os.listdir()加载出数据的list列表

3. 重写里面的__getitem__方法,将一张一张地将list的图片和对应的label加载出来

4.train_dataset = ants_dataset + bees_dataset,得到训练数据集

三、TensorBoard的使用

安装TensorBoard需要的包

pip install tensorboard

编写如下代码:

from torch.utils.tensorboard import SummaryWriter# 指定log文件生成的位置
writer = SummaryWriter("logs")for i in range(100):'''第一个参数:图像的title第二个参数:纵坐标的值 第三个参数:横坐标的值'''writer.add_scalar("y=3x", 3 * i, i)# 关闭资源
writer.close()

运行代码,会在SummaryWriter指定的位置生成log文件

在Terminal运行下面语句:

可以自己指定端口,防止冲突

tensorboard --logdir=logs --port=6007

运行输出

在浏览器打开

使用 writer.add_image 加载图片

编写下面代码:

from torch.utils.tensorboard import SummaryWriter
from PIL import Image
import numpy as np# 指定log文件生成的位置
writer = SummaryWriter("logs")image_path = "dataset/train/ants/7759525_1363d24e88.jpg"
image_PIL = Image.open(image_path)
image_array = np.array(image_PIL)'''
第一个参数:图像的title
第二个参数:图片的numpy值
第三个参数:步数
第四个参数:将图片进行转换,3通道放在前面
'''
writer.add_image("test", image_array, 1, dataformats='HWC')for i in range(100):'''第一个参数:图像的title第二个参数:纵坐标的值 第三个参数:横坐标的值'''writer.add_scalar("y=3x", 3 * i, i)# 关闭资源
writer.close()

 同样在控制台打开运行生成的日志文件

四、Transforms的使用

图片转换工具

ToTensor() 把 PIL格式或者numpy格式转换成tensor

编写如下代码:

from PIL import Image
from torchvision import transformsimg_path = "dataset/train/ants/0013035.jpg"
img = Image.open(img_path)# 使用transforms
tensor_trans = transforms.ToTensor()
tensor_img = tensor_trans(img)print(tensor_img)

输出:

tensor([[[0.3137, 0.3137, 0.3137,  ..., 0.3176, 0.3098, 0.2980],[0.3176, 0.3176, 0.3176,  ..., 0.3176, 0.3098, 0.2980],[0.3216, 0.3216, 0.3216,  ..., 0.3137, 0.3098, 0.3020],...,[0.3412, 0.3412, 0.3373,  ..., 0.1725, 0.3725, 0.3529],[0.3412, 0.3412, 0.3373,  ..., 0.3294, 0.3529, 0.3294],[0.3412, 0.3412, 0.3373,  ..., 0.3098, 0.3059, 0.3294]],[[0.5922, 0.5922, 0.5922,  ..., 0.5961, 0.5882, 0.5765],[0.5961, 0.5961, 0.5961,  ..., 0.5961, 0.5882, 0.5765],[0.6000, 0.6000, 0.6000,  ..., 0.5922, 0.5882, 0.5804],...,[0.6275, 0.6275, 0.6235,  ..., 0.3608, 0.6196, 0.6157],[0.6275, 0.6275, 0.6235,  ..., 0.5765, 0.6275, 0.5961],[0.6275, 0.6275, 0.6235,  ..., 0.6275, 0.6235, 0.6314]],[[0.9137, 0.9137, 0.9137,  ..., 0.9176, 0.9098, 0.8980],[0.9176, 0.9176, 0.9176,  ..., 0.9176, 0.9098, 0.8980],[0.9216, 0.9216, 0.9216,  ..., 0.9137, 0.9098, 0.9020],...,[0.9294, 0.9294, 0.9255,  ..., 0.5529, 0.9216, 0.8941],[0.9294, 0.9294, 0.9255,  ..., 0.8863, 1.0000, 0.9137],[0.9294, 0.9294, 0.9255,  ..., 0.9490, 0.9804, 0.9137]]])

常见的Transforms

在机器学习和深度学习中,数据转换(Transforms)是一种常见的操作,用于对数据进行预处理、增强或标准化。下面是一些常见的数据转换操作:

1. 数据标准化(Normalization):将数据按比例缩放,使其落在特定的范围内,通常是将数据映射到0到1之间或者使用均值为0、方差为1的分布(更快收敛)。这可以通过以下方法实现:

- Min - Max标准化:将数据缩放到指定的最小值和最大值之间。

- Z-Score标准化:将数据转化为均值为0、标准差为1的分布。

2. 数据增强(Data Augmentation):用于扩充训练数据集,增强样本的多样性,提高模型的泛华能力。常见的数据增强操作包括:

- 随机裁剪(Random Crop):随机裁剪图像的一部分,以减少位置的依赖性。

- 随机翻转(Random Filp):随机水平或垂直翻转图像,增加数据的多样性。

- 随机旋转(Random Rotation):随机旋转图像的角度,增加数据的多样性。

3. 图像预处理:用于对图像进行预处理,以减少噪声、增强特征或改变图像的外观。一些常见的图像预处理操作包括:

- 图像平滑(Image Smoothing):使用滤波器对图像进行平滑处理,减少噪声。

- 直方图均衡化(Histogram Equalization):增强图像的对比度,使得图像中的像素值更加均匀分布。

- 图像缩放(Image Resizing):改变图像的尺寸,通常用于将图像调整为模型输入的大小。

4. 文本预处理:用于对文本数据进行预处理和清洗,以便更好地适应模型的输入要求。一些常见的文本预处理操作包括:

- 分词(Tokenization):将文本分割成单个的词或字符。

- 去除停用词(Stopword Removal):去除常见的无意义词语,如“a”,“the”等。

- 文本向量化(Text Vectorzation):将文本转换为数值形式,如使用词袋模型或词嵌入。

以上只是一些常见的数据转换操作示例,实际应用中可能会根据任务和数据的特点进行适当的调整和组合。在使用转换操作时,可以使用各种机器学习框架(如PyTorch、TensorFlow)提供的相关库或函数来实现这些操作。

示例代码如下:

from PIL import Image
from torch.utils.tensorboard import SummaryWriter
from torchvision import transformsimg_path = "hymenoptera_data/16.jpg"
img = Image.open(img_path)writer = SummaryWriter("logs")# totensor使用
tensor_trans = transforms.ToTensor()
tensor_img = tensor_trans(img)
writer.add_image("lyy", tensor_img)# Normalize 使用
trans_norm = transforms.Normalize([111,111,111],[10,10,10])
img_norm = trans_norm(tensor_img)
writer.add_image("normalize", img_norm, 2)# resize
trans_resize = transforms.Resize( (512, 512))
img_resize = trans_resize(img) # 输入的是Image类型的图像
img_resize_tensor = transforms.ToTensor()tensor_img = tensor_trans(img_resize)
writer.add_image("resize", tensor_img, 0)# compose 用法
trans_resize_2 =transforms.Resize(123)
trans_compose = transforms.Compose([trans_resize_2, tensor_trans])
img_resize_2 = trans_compose(img)
writer.add_image("resize2", img_resize_2,1)# randomCrop
trans_random = transforms.RandomCrop((20,50))
trans_compose_2 = transforms.Compose([trans_random, tensor_trans])
for i in range(10):img_crop = trans_compose_2(img)writer.add_image("randomCrop", img_crop, i)writer.close()print("end")

五、torchvision中数据集使用

pytorch提供了很多的数据集,提供给我们学习使用。

进入官网

 选择Dataset数据集

下面就是常用的数据集

 CIFAR10数据集使用示例:

 代码示例:

import torchvision
from torch.utils.tensorboard import SummaryWriterdataset_transfrom = torchvision.transforms.Compose([torchvision.transforms.ToTensor])train_set = torchvision.datasets.CIFAR10(root="./cifar10", train=True, transform=dataset_transfrom, download=True)
test_set = torchvision.datasets.CIFAR10(root="./cifar10", train=False, transform=dataset_transfrom, download=True)writer = SummaryWriter("test_torchvision")
for i in range(10):img, target = test_set[i]writer.add_image("test_torchvision", img, i)writer.close()

 提示:这样下载数据集很慢,可以使用迅雷下载, ctrl + CIFAR10  进入类里面,里面有下载地址,如下:

 把下载好的数据集压缩包,放在指定路径下即可。

 然后再tensorboard面板就能看到下载的数据集

六、DataLoader使用

Dataset是整理好的数据集

DataLoader是把这个数据集加载到神经网络中去训练

使用示例:

import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWritertest_data = torchvision.datasets.CIFAR10("./cifar10", train=False, transform=torchvision.transforms.ToTensor())
test_loader = DataLoader(dataset=test_data, batch_size=64, shuffle=True, num_workers=0, drop_last=False)writer = SummaryWriter("dataloader")step = 0
for data in test_loader:imgs, targets = datawriter.add_images("dataloader", imgs, step)step = step + 1writer.close()

解释:

通过创建 test_loader,您可以使用 for 循环迭代它来逐批获取测试数据

  • dataset: 指定要加载的数据集test_data
  • batch_size: 指定每个批次中的样本数量。在这里,每个批次中有64个样本。
  • shuffle: 指定是否对数据进行洗牌(随机重排)。如果设置为 True,每个 epoch(训练周期)开始时,数据将被随机打乱顺序。这对于增加数据的随机性、减少模型对输入顺序的依赖性很有用。
  • num_workers: 指定用于数据加载的子进程数量。在这里,设置为0表示在主进程中加载数据,没有额外的子进程参与。如果设置为大于0的值,将使用多个子进程并行加载数据,可以加快数据加载速度。
  • drop_last: 指定当数据样本数量不能被 batch_size 整除时,是否丢弃最后一个不完整的批次。如果设置为 True,最后一个不完整的批次将被丢弃;如果设置为 False,最后一个不完整的批次将保留。

运行之后在tensorboard面板查看

http://www.15wanjia.com/news/7746.html

相关文章:

  • wordpress 做网课网站南宁seo推广外包
  • 建网站英语在线推广企业网站的方法有
  • 网站设计哪家外贸软件
  • 慈溪企业网站建设网络营销策划书包括哪些内容
  • 开传奇私服网站怎么做乔拓云智能建站官网
  • 路由器做网站莱阳seo外包
  • 企业网站的用户需求分析谷歌搜索优化seo
  • 在线ui设计网站企业网站网页设计
  • 域名访问wordpressseo站长网
  • 网站建设预览天津百度推广公司地址
  • 梅州网站开发网络广告策划与制作
  • 建设网站windows优化大师会员兑换码
  • 宫廷计有哪些网站开发的最经典最常用的网站推广方式
  • 海南网站建设hnycbd沈阳网站建设
  • 商城网站开发背景关键词快速排名seo怎么优化
  • 如何设置网站的默认页北大青鸟职业技术学院简介
  • wordpress more-link关键词优化怎么写
  • wordpress 商品 模板百度网络优化
  • 手机app开发网站建设深圳网站制作
  • 手机网站开发周期seo课程培训要多少钱
  • 网站开发建设费用明细百度推广关键词技巧定价
  • 自己做的网站还用维护呢网络推广需要多少钱
  • 网站建设专业名词解释网站逆冬黑帽seo培训
  • 盐城做网站企业百度移动应用
  • 上海协策网站制作短视频代运营费用明细
  • 如何查看网站备案信息吗今日新闻头条官网
  • 做资源网站有哪些seo是什么意思 为什么要做seo
  • 一家专门做海报的网站qq刷赞网站推广
  • 阐述什么是网站东莞seo排名优化
  • 手机端网站开发页艾滋病阻断药有哪些