Python 将文件从kaggle上传到google drive
我正在使用kaggle来训练一个模型,训练完成后,我想将训练过的模型上传到google drive,因为我想不出一种方法在本地下载模型。我在尝试验证pip安装pydrive后,研究了如何使用它Python 将文件从kaggle上传到google drive,python,google-drive-api,kaggle,pydrive,Python,Google Drive Api,Kaggle,Pydrive,我正在使用kaggle来训练一个模型,训练完成后,我想将训练过的模型上传到google drive,因为我想不出一种方法在本地下载模型。我在尝试验证pip安装pydrive后,研究了如何使用它 import os from pydrive.auth import GoogleAuth from pydrive.drive import GoogleDrive from oauth2client.client import GoogleCredentials 然后
import os
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from oauth2client.client import GoogleCredentials
然后
我得到这个错误
ApplicationDefaultCredentialsError:应用程序默认凭据不可用。如果在谷歌计算引擎中运行,它们是可用的。否则,必须定义指向定义凭据的文件的环境变量GOOGLE\u APPLICATION\u CREDENTIALS。有关更多信息,请参阅
还有别的办法吗
此外,我还没有在kaggle中提交我的文件,因为我手动停止了培训,因此提交将永远持续下去。在我尝试提交并停止输出区域的提交后,我遇到了6个以上的子目录错误。我遇到了同样的问题,能够从
kaggle
下载文件到Colab
,然后移动到googledrive
。例如,如果当前目录为/kaggle/working
,要移动的文件为processed\u file.zip
,则
来自卡格尔
这将生成一个链接
https://....kaggle.net/...../processed_file.zip
来自科拉布
安装谷歌驱动器
将文件复制到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
from google.colab import drive
drive.mount('/content/drive')
!cp "/content/processed_file.zip" "/content/drive/My Drive/workspace"
# 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)
gauth.credentials.token_expiry