为了使我的代码更"pythonic"和更快,我使用"多处理"和一个map函数发送它a)函数和b)迭代范围.
植入的解决方案(即直接在范围tqdm.tqdm(范围(0,30))上调用tqdm不适用于多处理(如下面的代码所示).
进度条显示从0到100%(当python读取代码?)但它不指示map函数的实际进度.
如何显示一个进度条,指示"地图"功能在哪一步?
from multiprocessing import Pool
import tqdm
import time
def _foo(my_number):
square = my_number * my_number
time.sleep(1)
return square
if __name__ == '__main__':
p = Pool(2)
r = p.map(_foo, tqdm.tqdm(range(0, 30)))
p.close()
p.join()
Run Code Online (Sandbox Code Playgroud)
欢迎任何帮助或建议......
我用 R 编写了以下代码来估计三个系数(a、b 和 c):
\n\ny <- c(120, 125, 158, 300, 350, 390, 2800, 5900, 7790)\nt <- 1:9\nfit <- nls(y ~ a * (((b + c)^2/b) * exp(-(b + c) * t))/(1 + (c/b) *\n exp(-(b + c) * t))^2, start = list(a = 17933, b = 0.01, c = 0.31))\nRun Code Online (Sandbox Code Playgroud)\n\n我得到这个结果
\n\n> summary(fit )\n\nFormula: y ~ a * (((b + c)^2/b) * exp(-(b + c) * t))/(1 + (c/b) * exp(-(b + \n c) * t))^2\n\nParameters:\n …Run Code Online (Sandbox Code Playgroud)