我正在使用kaggle训练模型,训练完成后,我想将训练后的模型上传到Google Drive,因为我找不到在本地下载模型的方法。我尝试进行
的pip install pydrive后,开始考虑使用https://pythonhosted.org/PyDrive/ import os
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from oauth2client.client import GoogleCredentials
然后
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
我收到此错误 ApplicationDefaultCredentialsError:应用程序默认凭据不可用。如果它们在Google Compute Engine中运行,则可用。否则,必须定义环境变量GOOGLE_APPLICATION_CREDENTIALS,指向指向定义凭据的文件。有关更多信息,请参见https://developers.google.com/accounts/docs/application-default-credentials。
还有另一种方法吗?
我还没有在kaggle中提交我的文件,因为我手动停止了培训,因此提交将永远继续下去,在尝试在输出区域中提交并停止提交后,我收到了6个以上的子目录错误
答案 0 :(得分:1)
我遇到了同样的问题,可以将文件从Kaggle
下载到Colab
,然后移到Google Drive
。例如,如果当前目录为/kaggle/working
,而要移动的文件为processed_file.zip
,则
from IPython.display import FileLink
FileLink(r'processed_file.zip')
这将生成一个链接,
https://....kaggle.net/...../processed_file.zip
!wget "https://....kaggle.net/...../processed_file.zip"
from google.colab import drive
drive.mount('/content/drive')
!cp "/content/processed_file.zip" "/content/drive/My Drive/workspace"
答案 1 :(得分:0)
我试图做同样的事情:将我的kaggle模型保存到Google驱动器中。
调用gauth.Authorize()时,gauth对象正在寻找有效的“ gauth.credentials”。
我不是在使用“ gauth.credentials = GoogleCredentials.get_application_default()”,而是在使用:
# Try to load saved client credentials
gauth = GoogleAuth()
credential_file = 'gdrive.json'
gauth.LoadCredentialsFile(credential_file)
凭据文件是通过以下方式在您的本地计算机上创建的:
gauth = GoogleAuth()
credential_file = 'gdrive.json'
gauth.LocalWebserverAuth()
gauth.SaveCredentialsFile(credential_file)
获取凭据文件后,将其上传到kaggle,然后即可在会话中使用它。
该凭证将过期,但是我在8小时后尝试了kaggle会话,并且该凭证仍在工作。
使用以下方法检查过期时间:
gauth.credentials.token_expiry