AI Studio平台+paddle2.2.1+GPU,gpu资源占用0、显存占用0
收藏
import paddle
from paddle.io import Dataset
import numpy as np
from pandas import read_csv
#混合多只
f=open("data/data126099/训练数据 2022-01-20 155914.csv",encoding='UTF-8')
#只有一只
#f=open("work/训练数据 2022-01-22 092617.csv",encoding='UTF-8')
trainDataSrc=read_csv(f).values.tolist()
#混合多只
f=open("data/data126099/测试数据 2022-01-20 155924.csv",encoding='UTF-8')
#只有一只
#f=open("work/测试数据 2022-01-22 092622.csv",encoding='UTF-8')
testDataSrc=read_csv(f).values.tolist()
INPUT_K_LEN=60
K_ELEMENT_NUM=6
INPUT_LEN=INPUT_K_LEN*K_ELEMENT_NUM
OUT_LEN=3
#place = paddle.CUDAPlace(0)
place= paddle.device.set_device("gpu")
#自定义数据集
class MyDataset(Dataset):
"""
步骤一:继承paddle.io.Dataset类
"""
def __init__(self, mode='train'):
"""
步骤二:实现构造函数,定义数据读取方式,划分训练和测试数据集
"""
super(MyDataset, self).__init__()
if mode == 'train':
self.data = trainDataSrc
else:
self.data = testDataSrc
def __getitem__(self, index):
"""
步骤三:实现__getitem__方法,定义指定index时如何获取数据,并返回单条数据(训练数据,对应的标签)
"""
data = np.array(self.data[index][0:INPUT_LEN],np.float32)
label = np.array(self.data[index][INPUT_LEN:],np.float32)
return data, label
def __len__(self):
"""
步骤四:实现__len__方法,返回数据集总数目
"""
return len(self.data)
# 测试定义的数据集
trainDS = MyDataset(mode='train')
testDS = MyDataset(mode='test')
mnist = paddle.nn.Sequential(
paddle.nn.Linear(360, 5120),
paddle.nn.Linear(5120, 5120),
paddle.nn.Linear(5120, 5120),
paddle.nn.Linear(5120, 3))
# 预计模型结构生成模型对象,便于进行后续的配置、训练和验证
model = paddle.Model(mnist)
#学习率
#paddle.optimizer.Adam(parameters=model.parameters())
#optim = paddle.optimizer.SGD(learning_rate=0.00001,parameters=model.parameters())
optim = paddle.optimizer.Adam(parameters=model.parameters())
#optim = paddle.optimizer.Adadelta(learning_rate=0.001, epsilon=1.0e-6, rho=0.95,parameters=model.parameters())
#optim = paddle.optimizer.Adagrad(learning_rate=0.001,parameters=model.parameters())
# 模型训练相关配置,准备损失计算方法,优化器和精度计算方法
model.prepare(optim,paddle.nn.L1Loss(),paddle.metric.Accuracy())
# 开始模型训练
model.fit(trainDS,testDS,epochs=10000,batch_size=1024,verbose=1)
纯小白,对算法不懂,对平台也不了解,完全照着例子拼接出来的一个项目。
直接在AI Studio平台上学习、练习,还有免费的GPU。
结果想提高训练速度的时候,重启项目,加上place之后,在训练的过程中发现GPU占用和显存占用一只为0,不知道是哪里的问题。
#place = paddle.CUDAPlace(0)
place= paddle.device.set_device("gpu")
还请大神们帮忙解惑,感谢!
1
收藏
请登录后评论
在终端使用nvidia-smi命令查看gpu占用情况,网页上会有延迟~
感谢帮助。
我再观察一下。
我知道了,原来是我的测试项目数据量级太小,还不配在曲线上体现出来。
再次感谢!
到终端用nvidia-smi看。这个可视化在aistudio经典版有bug。BML的是没问题的
好的感谢大佬!
经典版目前只能观察CPU的使用,GPU还是用新版的吧,而且经典版的不显示PID
我一直使用BML,学习了。
BML为啥显存有占用,GPU还为0