我正在使用AFNetworking下载我的应用程序用于同步解决方案的文件.在某些时候,应用程序会将一系列文件作为批处理单元下载.按照这个例子,我像这样运行批处理:
NSURL *baseURL = <NSURL with the base of my server>;
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:baseURL];
// as per: https://stackoverflow.com/a/19883392/353137
dispatch_group_t group = dispatch_group_create();
for (NSDictionary *changeSet in changeSets) {
dispatch_group_enter(group);
AFHTTPRequestOperation *operation =
[manager
POST:@"download"
parameters: <my download parameters>
success:^(AFHTTPRequestOperation *operation, id responseObject) {
// handle download success...
// ...
dispatch_group_leave(group);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// handle failure...
// ...
dispatch_group_leave(group);
}];
[operation start];
}
// Here we wait for all the requests to …Run Code Online (Sandbox Code Playgroud) 我有一个列表,该列表不断增加.我正在做依赖于列表大小的批量添加.我忘了为指定大小的executeBatch设置限制.
计划工作了几个小时.我现在不想停下来,修理并重新开始.
我的问题是,决定添加批次的大小是什么?批次executeBatch()一次最大容量是多少?我有多少时间可以使用addBatch,而不做executeBatch()?
我正在使用R包twitteR将项目发布到Twitter.我把所有东西都放在一个函数中,它工作正常.但是,我想在没有提示响应的情况下运行该函数,我还没想出如何做到这一点.有什么建议?
以下是我的功能:
doit <- function(<snip>) {
<snip>
# connect to Twitter
setup_twitter_oauth(api_key, api_secret, access_token, access_token_secret)
<snip>
}
Run Code Online (Sandbox Code Playgroud)
当我从命令行运行该函数时,系统会提示我进行交互式响应.
[1] "Using direct authentication"
Use a local file to cache OAuth access credentials between R sessions?
1: Yes
2: No
Selection:
Run Code Online (Sandbox Code Playgroud)
当setup_twitter_oauth()函数在函数之外时,我可以通过在以下行中输入我的响应来直接在脚本中提供此信息,这与其他用户输入函数(如readline()或scan())非常相似.
setup_twitter_oauth(api_key, api_secret, access_token, access_token_secret)
1
Run Code Online (Sandbox Code Playgroud)
但是,当setup_twitter_oauth()是函数的INSIDE时,我无法使用此方法.
我将不胜感激任何有关如何在不需要用户输入的情况下运行此建议的建议.
=====
来自@NicE的答案就是诀窍.我将我的功能中的选项设置合并为:
doit <- function(<snip>) {
<snip>
# connect to Twitter
origop <- options("httr_oauth_cache")
options(httr_oauth_cache=TRUE)
setup_twitter_oauth(api_key, api_secret, access_token, access_token_secret)
options(httr_oauth_cache=origop)
<snip>
}
Run Code Online (Sandbox Code Playgroud) 在实践中(非理论),小批量与实时流之间有什么区别?从理论上讲,我理解迷你批量是在给定的时间范围内批量生成的,而实时流式更像是在数据到达时做某事但是我最大的问题是为什么不使用epsilon时间框架(比如说一毫秒)或我想了解为什么一个人比其他人更有效的解决方案?
我最近遇到了一个例子,其中迷你批处理(Apache Spark)用于欺诈检测,实时流(Apache Flink)用于欺诈预防.有人还评论说小批量不是防止欺诈的有效解决方案(因为目标是防止交易发生)现在我想知道为什么这对迷你批次(Spark)不会那么有效?为什么以1毫秒的延迟运行迷你批处理无效?批处理是一种在任何地方使用的技术,包括操作系统和内核TCP/IP堆栈,其中磁盘或网络的数据确实被缓冲,那么说一个比其他更有效的令人信服的因素是什么?
data-processing stream-processing batch-processing apache-spark apache-flink
我是tensorflow和机器学习的新手.最近我正在研究一个模型.我的模型如下,
字符级嵌入向量 - >嵌入查找 - > LSTM1
字级嵌入矢量 - >嵌入查找 - > LSTM2
[LSTM1 + LSTM2] - >单层MLP-> softmax层
[LSTM1 + LSTM2] - >单层MLP-> WGAN鉴别器
他的模型代码
当我正在研究这个模型时,我得到了以下错误.我以为我的批次太大了.因此,我尝试将批量大小从20减少到10,但它不起作用.
ResourceExhaustedError(参见上面的回溯):OOM在分配张量形状时[24760,100] [[节点:字符/ bidirectional_rnn/bw/bw/while/bw/lstm_cell/split = Split [T = DT_FLOAT,num_split = 4,_device] ="/ job:localhost/replica:0/task:0/device:GPU:0"](gradients_2/Add_3/y,chars/bidirectional_rnn/bw/bw/while/bw/lstm_cell/BiasAdd)] [[Node :bi-lstm/bidirectional_rnn/bw/bw/stack/_167 = _Recvclient_terminated = false,recv_device ="/ job:localhost/replica:0/task:0/device:CPU:0",send_device ="/ job:localhost /副本:0 /任务:0 /设备:GPU:0",send_device_incarnation = 1,tensor_name ="edge_636_bi-lstm/bidirectional_rnn/bw/bw/stack",tensor_type = DT_INT32,_device ="/ job:localhost/replica:0 /任务:0 /装置:CPU:0" ]]
张量形状[24760,100]表示2476000*32/8*1024*1024 = 9.44519043 MB内存.我在Titan X(11 GB)GPU上运行代码.怎么可能出错?为什么会发生这种错误?
*额外信息*:LSTM1的大小为100.对于双向LSTM,它变为200.LSTM2的大小为300.对于双向LSTM,它变为600.
*注*:错误发生在32个纪元之后.我的问题是为什么在32个时代之后出现了错误.为什么不在最初的时代.
我目前正在使用NHibernate.我有一种情况需要将一堆记录保存到数据库中,如下所示:
var relatedTopics = GetRelatedTopics(topic);
foreach (var relatedTopic in relatedTopics /* could be anywhere from 10 - 1000+ */)
{
var newRelatedTopic = new RelatedTopic { RelatedTopicUrl = relatedTopic, TopicUrl = topic.Name };
_repository.Save(newRelatedTopic);
}
Run Code Online (Sandbox Code Playgroud)
当有大量的记录需要保存时,这显然非常非常繁重,不得不多次访问数据库.什么是更好的方法?我可以做一些批量更新吗?我最好使用DataSet吗?
谢谢
这个问题的最佳做法是什么?内置任何批处理功能吗?
示例代码:
using (ITransaction transaction = _session.BeginTransaction())
{
_session.Delete("FROM myObject o WHERE o.Id = IN(1,2,...99999)");
transaction.Commit();
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
是否可以在SpringBatch中执行MapReduce样式操作?
我的批处理工作有两个步骤.第一步计算平均值.第二步将每个值与平均值进行比较以确定另一个值.
例如,让我们说我有一个庞大的学生分数数据库.第一步计算每门课程/考试的平均分数.第二步将个人得分与平均值进行比较,根据一些简单的规则确定等级:
目前我的第一步是一个Sql,它选择平均值并将其写入表中.第二步是一个Sql,它将平均分数与个人分数相结合,并使用Processor来实现规则.
有类似的聚合函数,如avg,min在Steps中使用了很多,我真的更喜欢这可以在Processors中完成,尽可能简化Sqls.有没有办法编写一个处理器,它根据分组标准在多行中聚合结果,然后将一次平均值/最小值写入输出表?
这种模式重复了很多,我不是在寻找使用Sql的单处理器实现,它可以获取平均和个人分数.
for x in records:
data = {}
for y in sObjectName.describe()['fields']
data[y['name']] = x[y['name']]
ls.append(adapter.insert_posts(collection, data))
Run Code Online (Sandbox Code Playgroud)
我想以批量大小500执行代码ls.append(adapter.insert_post(collection,x)),其中x应包含500个数据dicts.我可以使用double for循环和列表创建500个数据dicts的列表,然后插入它.我可以通过以下方式做到这一点,有没有更好的方法呢?:
for x in records:
for i in xrange(0,len(records)/500):
for j in xrange(0,500):
l=[]
data = {}
for y in sObjectName.describe()['fields']:
data[y['name']] = x[y['name']]
#print data
#print data
l.append(data)
ls.append(adapter.insert_posts(collection, data))
for i in xrange(0,len(records)%500):
l=[]
data = {}
for y in sObjectName.describe()['fields']:
data[y['name']] = x[y['name']]
#print data
#print data
l.append(data)
ls.append(adapter.insert_posts(collection, data))
Run Code Online (Sandbox Code Playgroud) 我想知道如何在一批图像上执行图像白化.
根据https://www.tensorflow.org/api_docs/python/tf/image/per_image_standardization中的文档,据说tf.image.per_image_standardization将形状的3D张量(即图像)作为输入[height, width, channels].
它是缺失的功能还是有不同的方法?
任何帮助深表感谢.
batch-processing ×10
java ×2
nhibernate ×2
python ×2
tensorflow ×2
ado.net ×1
apache-flink ×1
apache-spark ×1
batch-file ×1
block ×1
c# ×1
database ×1
hibernate ×1
ios ×1
jdbc ×1
mapreduce ×1
postgresql ×1
python-2.7 ×1
r ×1
spring-batch ×1