我有一个问题问你:
我想在Jena TDB
TripleStore上加载文件。我的文件很大,大约80Mb和大约700000的三倍RDF。当我尝试加载它时,执行将停止工作或需要很长时间。
我正在使用在Web服务上运行的以下代码:
String file = "C:\\file.nt";
String directory;
directory = "C:\\tdb";
Dataset dataset = TDBFactory.createDataset(directory);
Model model = ModelFactory.createDefaultModel();
TDBLoader.loadModel(model, file );
dataset.addNamedModel("http://nameFile", model);
return model;
有时我会收到Java堆空间错误:
Caused by: java.lang.OutOfMemoryError: Java heap space
at org.apache.jena.riot.tokens.TokenizerText.parseToken(TokenizerText.java:170)
at org.apache.jena.riot.tokens.TokenizerText.hasNext(TokenizerText.java:86)
at org.apache.jena.atlas.iterator.PeekIterator.fill(PeekIterator.java:50)
at org.apache.jena.atlas.iterator.PeekIterator.next(PeekIterator.java:92)
at org.apache.jena.riot.lang.LangEngine.nextToken(LangEngine.java:99)
at org.apache.jena.riot.lang.LangNTriples.parseOne(LangNTriples.java:67)
at org.apache.jena.riot.lang.LangNTriples.runParser(LangNTriples.java:54)
at org.apache.jena.riot.lang.LangBase.parse(LangBase.java:42)
at org.apache.jena.riot.RDFParserRegistry$ReaderRIOTFactoryImpl$1.read(RDFParserRegistry.java:142)
at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr.java:859)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:255)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:241)
at org.apache.jena.riot.adapters.RDFReaderRIOT_Web.read(RDFReaderRIOT_Web.java:96)
at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:241)
at com.hp.hpl.jena.tdb.TDBLoader.loadAnything(TDBLoader.java:294)
at com.hp.hpl.jena.tdb.TDBLoader.loadModel(TDBLoader.java:125)
at com.hp.hpl.jena.tdb.TDBLoader.loadModel(TDBLoader.java:119)
如何将这个文件加载到模型Jena中并将其保存在TDB中?提前致谢。
您需要在statup上为JVM分配更多的内存。当您的资源太少时,该过程将花费太多时间执行垃圾收集,最终将失败。
例如,通过以下方式启动具有4 GB内存的JVM:
java -Xms4G -XmxG
如果您在Eclipse之类的IDE中,则可以更改运行配置,以便该应用程序也具有更多的内存。
除此之外,唯一让我惊讶的变化是,对于实际的加载操作,您正在使用内存模型,而实际上可以使用TDB支持的模型。这可以帮助减轻您的内存问题,因为TDB动态地将其索引移动到磁盘。
更改:
Dataset dataset = TDBFactory.createDataset(directory);
Model model = ModelFactory.createDefaultModel();
TDBLoader.loadModel(model, file );
dataset.addNamedModel("http://nameFile", model);
对此:
Dataset dataset = TDBFactory.createDataset(directory);
Model model = dataset.getNamedModel("http://nameFile");
TDBLoader.loadModel(model, file );
现在,您的系统取决于TDB对何时将数据保留在内存中以及何时将其刷新到磁盘上做出正确决策的能力。
我已经使用基于web的编辑器创建了几个Lambda函数。到目前为止还不错。现在我想开始扩展那些模块(比如Q表示承诺)。我不知道如何将这些模块输出到Lambda,这样它们就可以被我的函数使用了。 我已经通读了这篇文章,但它似乎涉及到设置EC2并从那里运行Lambda函数。在创建函数时有一种上传zip的机制,但这似乎涉及到发送本地开发的函数。因为我在基于web的编辑器中工作,这似乎是一个奇怪的工作流程
问题内容: 如何在Keras中从HDF5文件加载模型? 我试过的 上面的代码将最佳模型成功保存到名为weights.hdf5的文件中。然后,我要加载该模型。下面的代码显示了我如何尝试这样做: 这是我得到的错误: 问题答案: 仅设置网络的权重。您仍然需要在调用之前定义其体系结构:
问题内容: 有谁知道如何使用sql夹具为auth.User加载初始数据?对于我的模型,我只是在名为sql的文件夹中有一个 .sql文件,syncdb可以很好地完成它的工作。但是我不知道如何为auth.User模型执行此操作。我已经用谷歌搜索了,但是没有成功。 提前致谢, 奥尔多 问题答案: 感谢您的回答。我找到了最适合我的解决方案,而巧合的是Brian的建议之一。这里是: 首先,我断开了在sync
我正在为CodeIgniter HMVC使用ion auth库,我已将ion auth库中的所有文件复制到CodeIgniter主文件,但控制器、模型和视图文件复制到模块目录,现在它显示了此错误。 遇到一个PHP错误 严重性:通知 消息:未定义的属性:Auth::$ion\u Auth\u model 文件名:libraries/Ion\u auth。php 电话号码:122 回溯: 文件:/op
译者:talengu PyTorch的主要接口为Python。虽然Python有动态编程和易于迭代的优势,但在很多情况下,正是Python的这些属性会带来不利。我们经常遇到的生产环境,要满足低延迟和严格部署要求。对于生产场景而言,C 通常是首选语言,也能很方便的将其绑定到另一种语言,如Java,Rust或Go。本教程将介绍从将PyTorch训练的模型序列化表示,到C语言_加载_和_执行_的过程。