while True: query(input()).write('output.jpeg')
while True: 无限循环。
input() 让用户输入文字描述。
query 创建一个新任务。
write 复杂点,它是告诉系统:开始执行任务,等任务完成,将图片写入硬盘。
这里用了async的概念,创建一个新任务并不表示任务马上开始运行,要等有人明确表示需要结果了任务才会真正开始。调用write就触发了任务。这也是为什么在Ctrl-C中断程序是在write内部中断的。
至于sleep(6)。是在query内部,没有相关代码可看。但无非是:用文字描述开始一个新AI进程,新进程会不断生成一个个中间图片,一般后面的图片会比前面的质量更好,更接近文字描述。可以一直运行直到图片不再改进。但在演示会上,主程序就等6秒,取出最后结果,终止AI进程,进入下一个循环。