python-3.x 当我使用谷歌协作,如何保存图像,重量在我的谷歌驱动器?

u3r8eeie  于 2022-12-01  发布在  Python
关注(0)|答案(5)|浏览(121)

我使用谷歌协作,然后我想保存输出图像在我的谷歌驱动器或SSD,HHD,但其目录是“/内容”

import os     
print(os.getcwd())
# "/content"

那么,是否可以更改路径(HDD、SSD、GoogleDrive)?

dly7yett

dly7yett1#

你需要安装谷歌驱动器到你的Colab会话。

from google.colab import drive
drive.mount('/content/gdrive')

然后,您可以简单地写入到谷歌驱动器,因为你会像这样的本地文件系统:

with open('/content/gdrive/My Drive/file.txt', 'w') as f:
  f.write('content')
ktecyv1j

ktecyv1j2#

为了节省重量,你可以在训练后进行以下运动。

saver = tf.train.Saver()
save_path = saver.save(session, "data/dm.ckpt")
print('done saving at',save_path)

检查ckpt文件的保存位置。

import os
print( os.getcwd() )
print( os.listdir('data') )

终于下载文件了!

from google.colab import files
files.download( "data/dm.ckpt.meta" )
juzqafwq

juzqafwq3#

另一个简单的方法来保存文件到谷歌驱动器我发现here是使用命令cp后,你挂载驱动器。
代码如下:

from google.colab import drive
drive.mount('/content/gdrive')

然后使用以下命令:

!cp -r <CURRENT FILE PATH> <PATH YOU WANT TO SAVE>
  • 范例:*
!cp -r './runs/exp0.h5' /content/gdrive/MyDrive/Exp1/
ego6inou

ego6inou4#

看看与外部文件接口的例子,一般的工作流程是将文件输出到云环境,然后下载。
让我们将“Hello,Colaboratory”示例中的图输出到一个文件中。我将笔记本拷贝到我的Google Drive中,并运行以下命令:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(20)
y = [x_i + np.random.randn(1) for x_i in x]
a, b = np.polyfit(x, y, 1)
f = plt.figure()
_ = plt.plot(x, y, 'o', np.arange(20), a*np.arange(20)+b, '-')

f.savefig( "test.png")

如果我们列出Google协作实验室环境中的文件,我们将看到其中的test.png

import os
print( os.getcwd() )
print( os.listdir() )
# /content
# ['datalab', '.local', '.config', '.forever', '.cache', '.rnd', 'test.png', '.ipython']

剩下要做的就是使用我在此答案开头链接的示例将其下载到我的本地计算机:

from google.colab import files
files.download( "test.png" )

最后,如果您确实需要Google云端硬盘上的文件,而不是本地计算机上的文件,则可以使用the Google Drive API相应地移动文件。
另外,如果你不喜欢将文件写入/content,你可以将create a subdirectoryos.chdir()写入其中,但请记住,这个子目录仍然是你的云环境的本地子目录,需要你如上所述下载文件。

nkoocmlb

nkoocmlb5#

如果使用ipynb,请确保:
1.在代码的开头,您有:

%matplotlib inline

1.在plt.show()之前保存,例如保存某个dataframe df的sns.heatmap的代码如下:

matrix1 = df.corr().round(2)
plt.figure(figsize=(19,16))
sns.heatmap(matrix1, annot=True)
plt.savefig('name_heatmap.png') 
plt.show()

files.download('name_heatmap.png')

相关问题