Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance Pytables时间性能_Performance_Pytables - Fatal编程技术网

Performance Pytables时间性能

Performance Pytables时间性能,performance,pytables,Performance,Pytables,我正在做一个关于自然图像中文本检测的项目。我必须训练一个分类器,为此我使用Pytables来存储信息。我有: 62类(a-z、a-z、0-9) 每个班级有100到600张桌子 每个表有一个单独的列来存储32位浮点 每列有2^2到2^8行(取决于参数) 我的问题是,在训练分类器之后,在测试中读取信息需要花费很多时间。例如:一个数据库有27900个表(62个类*每个类450个表),每个表有4行,读取和检索我需要的所有信息大约需要4小时。测试程序读取每个表390次(对于A-Z类,A-Z类)和1

我正在做一个关于自然图像中文本检测的项目。我必须训练一个分类器,为此我使用Pytables来存储信息。我有:

  • 62类(a-z、a-z、0-9)

  • 每个班级有100到600张桌子

  • 每个表有一个单独的列来存储32位浮点

  • 每列有2^2到2^8行(取决于参数)

    我的问题是,在训练分类器之后,在测试中读取信息需要花费很多时间。例如:一个数据库有27900个表(62个类*每个类450个表),每个表有4行,读取和检索我需要的所有信息大约需要4小时。测试程序读取每个表390次(对于A-Z类,A-Z类)和150次(对于0-9类),以获得我需要的所有信息。这正常吗? 我尝试对unique列使用index选项,但没有看到任何性能。我在一台HP Pavilion Dv6(4GB Ram DDR3,Core2 Duo)上使用2GB Ram的虚拟机


这可能是因为表上的列查找是一项速度较慢的操作,而这正是所有信息的所在。有两个基本选项可以提高多列少行表的性能:

  • 透视此结构,使您的表具有多行和少列

  • 对于每一行/每一列,移动到更高效的数据结构,如CArray或array

  • 此外,您可以尝试使用压缩来加快速度。这是一种一般性建议,因为您没有包含任何代码