由于Colab免费版是无法直接使用终端的,所以只能在notebook里通过命令行语句来实现
实测发现,Colab终端的初始路径是\content
,相当于Windows终端的这样:C:\content>
因此,在notebook里通过命令行运行region_control.py时,应执行!python /content/multidiffusion-region-based/region_control.py
(不能写成!python /multidiffusion-region-based/region_control.py
,必须把/content
加上),就相当于Windows终端这样:C:\content>python multidiffusion-region-based\region_control.py
mask图的路径本来是masks/XXX.png
,表示mask.png与region_control.py之间的相对路径,现在应该改为/content/multidiffusion-region-based/masks/XXX.png
才行(不能写成/multidiffusion-region-based/masks/XXX.png
,必须把/content
加上),因为现在的根路径是/content
,如果还是masks/XXX.png
的话,会报错找不到/content/masks/XXX.png
同时也可以发现,输出结果out.png
本来应该是与region_control.py在同级目录下的,但是现在也在\content\out.png
里,而不是在\content\multidiffusion-region-based\out.png
里
如果想像平时运行region_control.py一样,使用mask.png与region_control.py之间的相对路径,则应该在Windows终端这样:
# 先切换路径到multidiffusion-region-based下
C:\content>cd multidiffusion-region-based
C:\content\multidiffusion-region-based>python region_control.py
对应的代码就是(用!cd不知为何无效,用%cd可以):
# 先切换路径到/content/multidiffusion-region-based下,不能写成%cd /multidiffusion-region-based,必须把/content加上
%cd /content/multidiffusion-region-based
!python region_control.py