@@ -16,7 +16,7 @@ from fastNLP.envs import FASTNLP_LAUNCH_TIME, FASTNLP_DISTRIBUTED_CHECK | |||||
from tests.helpers.utils import magic_argv_env_context | from tests.helpers.utils import magic_argv_env_context | ||||
from fastNLP.core import rank_zero_rm | from fastNLP.core import rank_zero_rm | ||||
from tests.helpers.models.torch_model import TorchNormalModel_Classification_1 | from tests.helpers.models.torch_model import TorchNormalModel_Classification_1 | ||||
from tests.helpers.datasets.torch_data import TorchArgMaxDatset | |||||
from tests.helpers.datasets.torch_data import TorchArgMaxDataset | |||||
from torchmetrics import Accuracy | from torchmetrics import Accuracy | ||||
from fastNLP.core.log import logger | from fastNLP.core.log import logger | ||||
@@ -53,7 +53,7 @@ def model_and_optimizers(request): | |||||
feature_dimension=ArgMaxDatasetConfig.feature_dimension | feature_dimension=ArgMaxDatasetConfig.feature_dimension | ||||
) | ) | ||||
trainer_params.optimizers = SGD(trainer_params.model.parameters(), lr=0.001) | trainer_params.optimizers = SGD(trainer_params.model.parameters(), lr=0.001) | ||||
dataset = TorchArgMaxDatset( | |||||
dataset = TorchArgMaxDataset( | |||||
feature_dimension=ArgMaxDatasetConfig.feature_dimension, | feature_dimension=ArgMaxDatasetConfig.feature_dimension, | ||||
data_num=ArgMaxDatasetConfig.data_num, | data_num=ArgMaxDatasetConfig.data_num, | ||||
seed=ArgMaxDatasetConfig.seed | seed=ArgMaxDatasetConfig.seed | ||||
@@ -19,7 +19,7 @@ from fastNLP.core import Evaluator | |||||
from fastNLP.core.utils.utils import safe_rm | from fastNLP.core.utils.utils import safe_rm | ||||
from fastNLP.core.drivers.torch_driver import TorchSingleDriver | from fastNLP.core.drivers.torch_driver import TorchSingleDriver | ||||
from tests.helpers.models.torch_model import TorchNormalModel_Classification_1 | from tests.helpers.models.torch_model import TorchNormalModel_Classification_1 | ||||
from tests.helpers.datasets.torch_data import TorchArgMaxDatset | |||||
from tests.helpers.datasets.torch_data import TorchArgMaxDataset | |||||
from tests.helpers.utils import magic_argv_env_context | from tests.helpers.utils import magic_argv_env_context | ||||
@@ -55,7 +55,7 @@ def model_and_optimizers(request): | |||||
feature_dimension=ArgMaxDatasetConfig.feature_dimension | feature_dimension=ArgMaxDatasetConfig.feature_dimension | ||||
) | ) | ||||
trainer_params.optimizers = optim.SGD(trainer_params.model.parameters(), lr=0.01) | trainer_params.optimizers = optim.SGD(trainer_params.model.parameters(), lr=0.01) | ||||
dataset = TorchArgMaxDatset( | |||||
dataset = TorchArgMaxDataset( | |||||
feature_dimension=ArgMaxDatasetConfig.feature_dimension, | feature_dimension=ArgMaxDatasetConfig.feature_dimension, | ||||
data_num=ArgMaxDatasetConfig.data_num, | data_num=ArgMaxDatasetConfig.data_num, | ||||
seed=ArgMaxDatasetConfig.seed | seed=ArgMaxDatasetConfig.seed | ||||
@@ -24,7 +24,7 @@ from fastNLP.envs import FASTNLP_LAUNCH_TIME, FASTNLP_DISTRIBUTED_CHECK | |||||
from tests.helpers.utils import magic_argv_env_context | from tests.helpers.utils import magic_argv_env_context | ||||
from fastNLP.core import rank_zero_rm | from fastNLP.core import rank_zero_rm | ||||
from tests.helpers.models.torch_model import TorchNormalModel_Classification_1 | from tests.helpers.models.torch_model import TorchNormalModel_Classification_1 | ||||
from tests.helpers.datasets.torch_data import TorchArgMaxDatset | |||||
from tests.helpers.datasets.torch_data import TorchArgMaxDataset | |||||
from torchmetrics import Accuracy | from torchmetrics import Accuracy | ||||
from fastNLP.core.metrics import Metric | from fastNLP.core.metrics import Metric | ||||
from fastNLP.core.log import logger | from fastNLP.core.log import logger | ||||
@@ -64,7 +64,7 @@ def model_and_optimizers(request): | |||||
feature_dimension=ArgMaxDatasetConfig.feature_dimension | feature_dimension=ArgMaxDatasetConfig.feature_dimension | ||||
) | ) | ||||
trainer_params.optimizers = SGD(trainer_params.model.parameters(), lr=0.001) | trainer_params.optimizers = SGD(trainer_params.model.parameters(), lr=0.001) | ||||
dataset = TorchArgMaxDatset( | |||||
dataset = TorchArgMaxDataset( | |||||
feature_dimension=ArgMaxDatasetConfig.feature_dimension, | feature_dimension=ArgMaxDatasetConfig.feature_dimension, | ||||
data_num=ArgMaxDatasetConfig.data_num, | data_num=ArgMaxDatasetConfig.data_num, | ||||
seed=ArgMaxDatasetConfig.seed | seed=ArgMaxDatasetConfig.seed | ||||
@@ -11,7 +11,7 @@ from torchmetrics import Accuracy | |||||
from fastNLP.core.controllers.trainer import Trainer | from fastNLP.core.controllers.trainer import Trainer | ||||
from tests.helpers.models.torch_model import TorchNormalModel_Classification_1 | from tests.helpers.models.torch_model import TorchNormalModel_Classification_1 | ||||
from tests.helpers.datasets.torch_data import TorchNormalDataset_Classification, TorchArgMaxDatset | |||||
from tests.helpers.datasets.torch_data import TorchNormalDataset_Classification, TorchArgMaxDataset | |||||
from tests.helpers.callbacks.helper_callbacks import RecordLossCallback, RecordMetricCallback | from tests.helpers.callbacks.helper_callbacks import RecordLossCallback, RecordMetricCallback | ||||
from tests.helpers.utils import magic_argv_env_context | from tests.helpers.utils import magic_argv_env_context | ||||
@@ -80,7 +80,7 @@ def model_and_optimizers(request): | |||||
feature_dimension=ArgMaxDatasetConfig.feature_dimension | feature_dimension=ArgMaxDatasetConfig.feature_dimension | ||||
) | ) | ||||
trainer_params.optimizers = SGD(trainer_params.model.parameters(), lr=0.001) | trainer_params.optimizers = SGD(trainer_params.model.parameters(), lr=0.001) | ||||
dataset = TorchArgMaxDatset( | |||||
dataset = TorchArgMaxDataset( | |||||
feature_dimension=ArgMaxDatasetConfig.feature_dimension, | feature_dimension=ArgMaxDatasetConfig.feature_dimension, | ||||
data_num=ArgMaxDatasetConfig.data_num, | data_num=ArgMaxDatasetConfig.data_num, | ||||
seed=ArgMaxDatasetConfig.seed | seed=ArgMaxDatasetConfig.seed | ||||
@@ -6,7 +6,7 @@ from pathlib import Path | |||||
from fastNLP.core.drivers.torch_driver.single_device import TorchSingleDriver | from fastNLP.core.drivers.torch_driver.single_device import TorchSingleDriver | ||||
from fastNLP.core.samplers import RandomBatchSampler, RandomSampler | from fastNLP.core.samplers import RandomBatchSampler, RandomSampler | ||||
from tests.helpers.models.torch_model import TorchNormalModel_Classification_1 | from tests.helpers.models.torch_model import TorchNormalModel_Classification_1 | ||||
from tests.helpers.datasets.torch_data import TorchNormalDataset, TorchArgMaxDatset | |||||
from tests.helpers.datasets.torch_data import TorchNormalDataset, TorchArgMaxDataset | |||||
from tests.helpers.datasets.paddle_data import PaddleNormalDataset | from tests.helpers.datasets.paddle_data import PaddleNormalDataset | ||||
from tests.helpers.models.paddle_model import PaddleNormalModel_Classification_1 | from tests.helpers.models.paddle_model import PaddleNormalModel_Classification_1 | ||||
from fastNLP.core import rank_zero_rm | from fastNLP.core import rank_zero_rm | ||||
@@ -17,7 +17,7 @@ import paddle | |||||
def dataloader_with_randombatchsampler(dataset, batch_size, shuffle, drop_last): | def dataloader_with_randombatchsampler(dataset, batch_size, shuffle, drop_last): | ||||
""" | """ | ||||
建立一个 batch_samper 为 RandomBatchSampler 的 dataloader | |||||
建立一个 batch_sampler 为 RandomBatchSampler 的 dataloader | |||||
""" | """ | ||||
if shuffle: | if shuffle: | ||||
sampler = torch.utils.data.RandomSampler(dataset) | sampler = torch.utils.data.RandomSampler(dataset) | ||||
@@ -38,7 +38,7 @@ def dataloader_with_randombatchsampler(dataset, batch_size, shuffle, drop_last): | |||||
def dataloader_with_randomsampler(dataset, batch_size, shuffle, drop_last, seed=0): | def dataloader_with_randomsampler(dataset, batch_size, shuffle, drop_last, seed=0): | ||||
""" | """ | ||||
建立一个 samper 为 RandomSampler 的 dataloader | |||||
建立一个 sampler 为 RandomSampler 的 dataloader | |||||
""" | """ | ||||
dataloader = DataLoader( | dataloader = DataLoader( | ||||
dataset, | dataset, | ||||
@@ -531,7 +531,7 @@ def generate_random_driver(features, labels, fp16=False, device="cpu"): | |||||
@pytest.fixture | @pytest.fixture | ||||
def prepare_test_save_load(): | def prepare_test_save_load(): | ||||
dataset = TorchArgMaxDatset(10, 40) | |||||
dataset = TorchArgMaxDataset(10, 40) | |||||
dataloader = DataLoader(dataset, batch_size=4) | dataloader = DataLoader(dataset, batch_size=4) | ||||
driver1, driver2 = generate_random_driver(10, 10), generate_random_driver(10, 10) | driver1, driver2 = generate_random_driver(10, 10), generate_random_driver(10, 10) | ||||
return driver1, driver2, dataloader | return driver1, driver2, dataloader | ||||
@@ -566,7 +566,7 @@ def test_save_and_load_with_randombatchsampler(only_state_dict, fp16): | |||||
try: | try: | ||||
path = "model.ckp" | path = "model.ckp" | ||||
dataset = TorchArgMaxDatset(10, 40) | |||||
dataset = TorchArgMaxDataset(10, 40) | |||||
dataloader = dataloader_with_randombatchsampler(dataset, 4, True, False) | dataloader = dataloader_with_randombatchsampler(dataset, 4, True, False) | ||||
driver1, driver2 = generate_random_driver(10, 10, fp16, "cuda"), generate_random_driver(10, 10, False, "cuda") | driver1, driver2 = generate_random_driver(10, 10, fp16, "cuda"), generate_random_driver(10, 10, False, "cuda") | ||||
@@ -636,7 +636,7 @@ def test_save_and_load_with_randomsampler(only_state_dict, fp16): | |||||
path = "model.ckp" | path = "model.ckp" | ||||
driver1, driver2 = generate_random_driver(10, 10, fp16, "cuda"), generate_random_driver(10, 10, False, "cuda") | driver1, driver2 = generate_random_driver(10, 10, fp16, "cuda"), generate_random_driver(10, 10, False, "cuda") | ||||
dataset = TorchArgMaxDatset(10, 40) | |||||
dataset = TorchArgMaxDataset(10, 40) | |||||
dataloader = dataloader_with_randomsampler(dataset, 4, True, False) | dataloader = dataloader_with_randomsampler(dataset, 4, True, False) | ||||
num_consumed_batches = 2 | num_consumed_batches = 2 | ||||
@@ -38,7 +38,7 @@ class TorchNormalDataset_Classification(Dataset): | |||||
return {"x": self.x[item], "y": self.y[item]} | return {"x": self.x[item], "y": self.y[item]} | ||||
class TorchArgMaxDatset(Dataset): | |||||
class TorchArgMaxDataset(Dataset): | |||||
def __init__(self, feature_dimension=10, data_num=1000, seed=0): | def __init__(self, feature_dimension=10, data_num=1000, seed=0): | ||||
self.num_labels = feature_dimension | self.num_labels = feature_dimension | ||||
self.feature_dimension = feature_dimension | self.feature_dimension = feature_dimension | ||||