python3 数据分析,python数据分析课堂
它不是图形处理器(而是尝试利用线程和中央处理器的向量单元),但是侏儒比科学计算快很多,您可以测试一下。在
我做了个基准:导入系统
导入时间
导入scipy。图像
导入侏儒
比例=10
n _循环=10
start=time.time()
test _ image=scipyndimage。im read(sys。argv[1])
对于范围内的I(0,n_loops):
结果=scipy。n形象。插值。bld fbx(测试图像,比例)
end=time.time()
打印"副本",结束-开始
start=time.time()
test_image=pyvips .形象。新文件。argv[1])
对于范围内的I(0,n_loops):
result=test_image.resize(scale).写入内存()
end=time.time()
打印“pyvips拿走了”,结束-开始
#用两个库进行转换以比较结果
ndi=scipy。ndimage。im read(sys。argv[1])
结果=scipy。ndimage。插值。bldfbx(ndi,秤)
scipy.misc.imsave(ndi.tif ),结果)
im=pyvips .形象。新文件。argv[1],access=sequential )
result=im.resize(scale)
结果。写入文件( pyvips.tif )
两者都默认为双三次方侏儒是一个惰性库,因此您需要在末尾添加额外的写入内存()来生成内存数组。在
在这个运行Ubuntu17.10的四核八线程桌面上,有所有库的打包版本和512x512单声道版本的"莉娜"测试映像,我看到:
^{pr2}$
国家政治保卫局。参见国家政治保卫局升级版显然会再快一次,但也许侏儒足够快了?在
如果您比较两个输出图像,您将看到科学计算图像上移了一小部分。对于非常小的输入图像,您可以更清楚地看到发生了什么,例如,这个3x3像素的图像:
当科学计算和侏儒缩放20倍时:
这让我很困惑。此外,它们显然使用不同的内核,这也很奇怪。在
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。