本文整理汇总了Python中worker.Worker.getQuality方法的典型用法代码示例。如果您正苦于以下问题:Python Worker.getQuality方法的具体用法?Python Worker.getQuality怎么用?Python Worker.getQuality使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类worker.Worker
的用法示例。
在下文中一共展示了Worker.getQuality方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getCurves
# 需要导入模块: from worker import Worker [as 别名]
# 或者: from worker.Worker import getQuality [as 别名]
def getCurves(worker, tasks, runs, prob):
#the following two are always fixed
cqs = [] #cumulative quality
qs = [] #quality
aqs = [] #average quality
ecqs = [] #estimated by linear regression
eqs = [] #estimated by linear regression
fqs = []
###for learning
cs = []
ts = []
errs = []
count = 0
for i in range(0, len(tasks)):
task = tasks[i]
answer = worker.doTask(task)
if answer == getAnswer(task, prob):
count += 1
cqs.append(worker.getCumulativeQuality(i + 1))
qs.append(worker.getQuality())
aqs.append(float(count) / float(i + 1))
#learn
ts.append(i + 1)
cs.append(count)
learning = learn.learnCurve(cs, ts)
fake = Worker(str(uuid.uuid1()), i+1, learning['p'], learning['r'], 1, 1)
ecqs.append(fake.getCumulativeQuality(i+1))
eqs.append(fake.getQuality())
errs.append(learning['e'])
if i == 0:
fqs.append(float(count) / float(i+1))
else:
fqs.append(float(i+1)*aqs[i] - float(i)*aqs[i-1])
for j in range(0, runs - 1):
worker.reset()
count = 0
cs = []
ts = []
for i in range(0, len(tasks)):
task = tasks[i]
answer = worker.doTask(task)
if answer == getAnswer(task, prob):
count += 1
aqs[i] += float(count) / float(i + 1)
ts.append(i + 1)
cs.append(count)
learning = learn.learnCurve(cs, ts)
fake = Worker(str(uuid.uuid1()), i+1, learning['p'], learning['r'], 1, 1)
ecqs[i] += fake.getCumulativeQuality(i+1)
eqs[i] += fake.getQuality()
errs[i] += learning['e']
if i == 0:
fqs[i] += (float(count) / float(i+1))
else:
fqs[i] += (float(i+1)*aqs[i] - float(i)*aqs[i-1])
for i in range(0, len(tasks)):
aqs[i] = aqs[i] / float(runs)
ecqs[i] = ecqs[i] / float(runs)
eqs[i] = eqs[i] / float(runs)
errs[i] = errs[i] / float(runs)
fqs[i] = fqs[i] / float(runs)
result = {'cqs': cqs, 'qs': qs, 'aqs': aqs, 'ecqs': ecqs, 'eqs': eqs}
return result
示例2: range
# 需要导入模块: from worker import Worker [as 别名]
# 或者: from worker.Worker import getQuality [as 别名]
aqs = [] #average quality
ecqs = [] #estimated by linear regression
eqs = [] #estimated by linear regression
fqs = []
###for learning
cs = []
ts = []
errs = []
count = 0
for i in range(0, len(tasks)):
task = tasks[i]
answer = worker.doTask(task)
if answer == task:
count += 1
cqs.append(worker.getCumulativeQuality(i + 1))
qs.append(worker.getQuality())
aqs.append(float(count) / float(i + 1))
#learn
ts.append(i + 1)
cs.append(count)
learning = learn.learnCurve(cs, ts)
fake = Worker(str(uuid.uuid1()), i+1, learning['p'], learning['r'], 1, 1)
ecqs.append(fake.getCumulativeQuality(i+1))
eqs.append(fake.getQuality())
errs.append(learning['e'])
if i == 0:
fqs.append(float(count) / float(i+1))
else:
fqs.append(float(i+1)*aqs[i] - float(i)*aqs[i-1])
for j in range(0, total - 1):