Pytorch Dataloader的num_workers设置建议

Dataloader 参数设置示例:

Dataloader(dataset, num_workers=8, pin_memory=True)

Dataloader的num_worker设置多少才合适,这个问题是很难有一个推荐的值。有以下几个建议:

  1. num_workers=0表示只有主进程去加载batch数据,这个可能会是一个瓶颈。
  2. num_workers = 1表示只有一个worker进程用来加载batch数据,而主进程是不参与数据加载的。这样速度也会很慢。
  3. num_workers>0 表示只有指定数量的worker进程去加载数据,主进程不参与。增加num_works也同时会增加cpu内存的消耗。所以num_workers的值依赖于 batch size和机器性能。
  4. 一般开始是将num_workers设置为等于计算机上的CPU数量
  5. 最好的办法是缓慢增加num_workers,直到训练速度不再提高,就停止增加num_workers的值。


版权声明:著作权归作者所有。

相关推荐

PyCharm常用设置

使用的是PyCharm2018.3.4 代码的自动补全 在PyCharm中找到Power Save Mode选项,将前面的对勾去掉。 在左上角File的展开栏的倒数第二行 在PyCharm的最右下角有个👷的样子(在🔒旁边),单击点开就可看到Power Save Mode选项 在这个Current inspection profile中可以设置Highlig

Laravel 5的Intervention Image上传处理图片内存设置

在PHP处理图片是一个耗内存的任务。如果没有设置合适的内容,使用Intervention Image可能会导致异常。在php.ini有三个参数需要设置:memory_limit设置内存大小,可以设置为256M。3000 x 2000 像素的图片缩写为300 x 200像素需要32M。upload_max_filesize现在上传图片的大小

Jackson设置JSON的日期格式

Jackson使用ObjectMapper解析JSON数据,如果需要设置JSON日期格式,可以使用ObjectMapper的setDateFormat方法设置:ObjectMapper om = new ObjectMapper(); om.configure(Feature.WRITE_DATES_AS_TIMESTAMPS, false); o

设置Log4j显示的日期格式

一个简单的log4j配置如下:log4j.rootLogger=DEBUG, console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Target=System.out log4j.appender.console.layout=org.apache.log4j.Patt

MySQL查看和设置事务的隔离级别

查看MySQL的事务隔离级别查看事务隔离级别SHOW VARIABLES LIKE 'tx_isolation'; 查看全局的事务隔离级别SHOW GLOBAL VARIABLES LIKE 'tx_isolation'; 使用系统变量查询SELECT @@global.tx_isolation; SELECT&nbs

Spring Boot设置服务器的端口

Spring Boot默认内嵌的web服务器为tomcat,端口为8080。如果想修改内嵌tomcat插件的端口有三种方式:在application.properties里修改在java的启动脚本里设置在java代码里设置在application.properties设置server.port=9999 如果是application.yml,设置如下:server:  &nbs