我正在寻找一个能够读取图像文件(任何格式)的某个区域而无需首先读取整个图像文件的库(任何语言)。
我遇到过一些选项,例如 vips,它确实不会将整个图像保留在内存中,但似乎仍然需要从头开始完整读取它。
我意识到这可能不适用于 jpeg 等压缩格式,但理论上听起来 bmp 或 tiff 应该允许这种类型的读取。
所以我试图解决的问题如下:
我很好奇如何使用火花流来处理这样的任务.
我当前的实现使用了3种类型的组件:一个自定义接收器和两个实现Function的类,一个用于神经网络,一个用于最终聚合器.
总的来说,我的应用程序构建如下:
JavaReceiverInputDStream<...> rndLists = jssc.receiverStream(new JavaRandomReceiver(...));
Function<JavaRDD<...>, Void> aggregator = new JavaSyncBarrier(numberOfNets);
for(int i = 0; i < numberOfNets; i++){
rndLists.map(new NeuralNetMapper(neuralNetConfig)).foreachRDD(aggregator);
}
Run Code Online (Sandbox Code Playgroud)
不过,我遇到的主要问题是它在本地模式下的运行速度比提交给4节点集群时要快.
我的实现是错误的开始还是其他事情发生在这里?
这里还有一篇完整的帖子http://apache-spark-user-list.1001560.n3.nabble.com/Developing-a-spark-streaming-application-td12893.html,详细介绍了三者的实施情况前面提到的组件.
我们正在尝试构建一个C ++项目,该项目最近进行了修改,以在使用gcc 4.5.4的旧系统上将某些析构函数标记为noexcept。
必须使用此编译器版本,因此升级不是解决方案。
代码中唯一的C ++ 11功能是析构函数的noexcept说明符。
我已经读到,虽然4.5不支持标准的-std = c ++ 11,但它确实支持实验性(当时)标志-std = gnu ++ 0x。但是,使用此代码编译使用noexcept指示符的简单测试项目也将不允许代码进行编译。此示例的代码在下面提供。
test.h:
class Test
{
public:
Test();
~Test() noexcept;
};
Run Code Online (Sandbox Code Playgroud)
test.cpp:
#include "test.h"
#include <iostream>
using namespace std;
Test::Test()
{
cout<<"Ctor"<<endl;
}
Test::~Test() noexcept
{
cout<<"Dtor"<<endl;
}
Run Code Online (Sandbox Code Playgroud)
main.cpp:
#include "test.h"
int main(int argc, char **argv)
{
{
Test t;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想我使用的实验性标志应该是这里的主要解决方案,但我想在这里检查是否可能缺少任何替代方法。
If it's just not possible to compile this code using gcc 4.5.4, my solution would be to declare a macro that …