【发布时间】:2022-01-01 20:18:22
【问题描述】:
我之前已经拆分了我的大数据:
# X_train.shape : 4M samples x 2K features
# X_test.shape : 2M samples x 2K features
我已经准备好了数据加载器
target = torch.tensor(y_train.to_numpy())
features = torch.tensor(X_train.values)
train = data_utils.TensorDataset(features, target)
train_loader = data_utils.DataLoader(train, batch_size=10000, shuffle=True)
testtarget = torch.tensor(y_test.to_numpy())
testfeatures = torch.tensor(X_test.values)
test = data_utils.TensorDataset(testfeatures, testtarget)
validation_generator = data_utils.DataLoader(test, batch_size=20000, shuffle=True)
我从在线课程中复制了这个网络示例(不知道其他模型是否更好)
base_elastic_model = ElasticNet()
param_grid = {'alpha':[0.1,1,5,10,50,100],
'l1_ratio':[.1, .5, .7, .9, .95, .99, 1]}
grid_model = GridSearchCV(estimator=base_elastic_model,
param_grid=param_grid,
scoring='neg_mean_squared_error',
cv=5,
verbose=0)
我已经做了这个配件
for epoch in range(1):
# Training
cont=0
total = 0
correct = 0
for local_batch, local_labels in train_loader:
cont+=1
with torch.set_grad_enabled(True):
grid_model.fit(local_batch,local_labels)
with torch.set_grad_enabled(False):
predicted = grid_model.predict(local_batch)
total += len(local_labels)
correct += ((1*(predicted>.5)) == np.array(local_labels)).sum()
#print stats
# Validation
total = 0
correct = 0
with torch.set_grad_enabled(False):
for local_batch, local_labels in validation_generator:
predicted = grid_model.predict(local_batch)
total += len(local_labels)
correct += ((1*(predicted>.5)) == np.array(local_labels)).sum()
#print stats
也许我的孙子们会有 1 个 epoch 的结果!
我需要一些建议:
- 如何/在哪里(在代码中)可以快速使用更少的数据进行第一次调优?
- 有人建议在 2022 年取得成果的步骤?
- 因为我添加了“with torch.set_grad_enabled(False):”来打印统计信息,我是否需要添加(如已完成)“with torch.set_grad_enabled(True):”?
- 我有一个 GPU(无图像时有用吗??)。我有函数“get_device()”。我应该把“.to(get_device())”放在哪里来使用 CUDA?
- 我正在学习整理信息,您对我的练习有一般建议吗?
【问题讨论】:
标签: python pytorch bigdata dataloader