Skip to content

An idea to solve "AttributeError" #2

@zachysun

Description

@zachysun

第一次运行,出现如下Error:
AttributeError: Can't pickle local object 'get_loader.<locals>.<lambda>'
问题出自如下代码:

data_loader = DataLoader(dataset = dataset,
                         batch_size = 1,
                         collate_fn = lambda x: collate_fn(x),
                         num_workers = 4,
                         batch_sampler = batch_sampler,
                         pin_memory = True
)

将上述代码改为:

data_loader = DataLoader(dataset = dataset,
                         batch_size = 1,
                         collate_fn = my_collate_fn,
                         num_workers = 4,
                         batch_sampler = batch_sampler,
                         pin_memory = True

并新定义一个函数:

def my_collate_fn(x):
	return collate_fn(x)

之后,该AttributeError不再出现

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions