PaddlePaddle / PaddleX

Low-code development tool based on PaddlePaddle(飞桨低代码开发工具)
Apache License 2.0
4.76k stars 936 forks source link

win10 训练分类一个epoch就中断 #693

Open chccc1994 opened 3 years ago

chccc1994 commented 3 years ago

问题类型:模型训练
问题描述
win10 训练蔬菜分类一个epoch就中断,没有报错。 代码如下:

# vegetables_cls

# 设置使用0号GPU卡(如无GPU,执行此代码后仍然会使用CPU训练模型)
import matplotlib
matplotlib.use('Agg') 
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0'
import paddlex as pdx

from paddlex.cls import transforms
train_transforms = transforms.Compose([
    transforms.RandomCrop(crop_size=224),
    transforms.RandomHorizontalFlip(),
    transforms.Normalize()
])
eval_transforms = transforms.Compose([
    transforms.ResizeByShort(short_size=256),
    transforms.CenterCrop(crop_size=224),
    transforms.Normalize()
])

train_dataset = pdx.datasets.ImageNet(
    data_dir='vegetables_cls',
    file_list='vegetables_cls/train_list.txt',
    label_list='vegetables_cls/labels.txt',
    transforms=train_transforms,
    shuffle=True)
eval_dataset = pdx.datasets.ImageNet(
    data_dir='vegetables_cls',
    file_list='vegetables_cls/val_list.txt',
    label_list='vegetables_cls/labels.txt',
    transforms=eval_transforms)

num_classes = len(train_dataset.labels)
model = pdx.cls.MobileNetV2(num_classes=num_classes)
model.train(num_epochs=10,
            train_dataset=train_dataset,
            train_batch_size=16,
            eval_dataset=eval_dataset,
            lr_decay_epochs=[4, 6, 8],
            save_interval_epochs=1,
            learning_rate=0.025,
            save_dir='E:/Github\PaddleX-develop/output/mobilenetv2',
            use_vdl=True)

image

====================
请在这里描述您在使用过程中的问题,如模型训练出错,建议贴上模型训练代码,以便开发人员分析,并快速响应

FlyingQianMM commented 3 years ago

请问显卡型号、CUDA和cudnn版本号、以及安装的paddle版本号是多少呢?

chccc1994 commented 3 years ago

显卡 3080,CUDA11.0 cudnn 8.0.5 paddlepaddle-gpu 2.0.2.post110

FlyingQianMM commented 3 years ago

paddle没有正式支持30系列,因30系列要cuda11.1

chccc1994 commented 3 years ago

你好我用CPU也是中断,是什么情况。paddlepaddle 2.0.2 设置的 train_batch_size=2和截图的效果一样,也是中断。 image

FlyingQianMM commented 3 years ago

训练任务是怎么启动的呢?能贴下启动命令么

chccc1994 commented 3 years ago

Vscode 下启动。

FlyingQianMM commented 3 years ago

那看下vscode上有没有错误信息提示,或者直接在command上运行训练

chccc1994 commented 3 years ago

没有错误提示!直接中断,如上图。。

FlyingQianMM commented 3 years ago

那直接在你截图的当前路径下,使用命令行运行下:

python vegetables_cls.py

看下终端是不是也是没有报错信息提示

chccc1994 commented 3 years ago

是的,都是没有报错。都是直接中断。

FlyingQianMM commented 3 years ago

运行的时候看下cpu等资源占用情况,看起来像是程序被外部中断了

chccc1994 commented 3 years ago

应该和CPU资源占用没关系。 CPU 和GPU下都是训练一个epoch直接中断,没有报错信息。@FlyingQianMM

libingbingdev commented 3 years ago

把scipy库降到1.3.1版本再试试

sosan-nian commented 3 years ago

@chccc1994 请问这个问题解决了吗

FlyingQianMM commented 3 years ago

paddle目前已经支持30系列的显卡了,使用cuda 11.2 cudnn 8,至 https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/conda/linux-conda.html 安装符合计算平台的paddle版本即可