2. colab 和kaggle使用


这篇会非常凌乱,主要给自己备份!

1. colab 挂载硬盘

import os
from google.colab import drive
drive.mount('/content/drive', force_remount=True)

指定工作路径:

import os
!mkdir /content/work
os.chdir('/content/work')

查看信息

#查看gpu信息
!/opt/bin/nvidia-smi
#查看内存
!cat /proc/meminfo
!awk '$3=="kB"{if ($2>1024^2){
    
    $2=$2/1024^2;$3="GB";} else if ($2>1024){
    
    $2=$2/1024;$3="MB";}} 1' /proc/meminfo | column -t
#查看cpu信息
!cat /proc/cpuinfo
#查看空间大小
!df -h

kill notebook进程,如切换tensoflow版本

import os
os.kill(os.getpid(), 9)

防止断线:F12–>console输入,单位ms。

function ConnectButton(){
    
    
    console.log("Connect pushed"); 
    document.querySelector("#connect").click() 
}
setInterval(ConnectButton,60000);
!pip install --upgrade --force-reinstall fastai==2.4.1 -qq
!pip install --upgrade --force-reinstall timm==0.4.12 -qq
!pip install --upgrade --force-reinstall torch -qq

使用TPU等必须要挂载gs bucket

  1. 如果只是TPU训练,要载入预先文件只需要验证就好
from google.colab import auth
auth.authenticate_user()

然后直接认证后就可以使用了
一般如:

import tensorflow as tf
file_exists = tf.gfile.Exists('gs://xx/data/xx.tfrecord')

这样是会返回True的。这有个问题这类路径好像不能像普通文件路径一样用。
read_csv
访问要先安装

!pip install fsspec
!pip install gcsfs
os.path.exists('gs:///data/')#False
with open("gs://xx/data/xx.tfrecord", 'r') as f: f.read() #No such file or directory

另外就是谷歌已经存在gs上的就不要放自己gs桶下,浪费空间。
gs://cloud-tpu-checkpoints/bert/uncased_L-24_H-1024_A-16/vocab.txt这种就直接用例子

!python run_classifier.py \
  --task_name=bert_move \
  --do_train=true \
  --do_eval=true \
  --data_dir=data \
  --vocab_file=gs://cloud-tpu-checkpoints/bert/uncased_L-24_H-1024_A-16/vocab.txt \
  --bert_config_file=gs://cloud-tpu-checkpoints/bert/uncased_L-24_H-1024_A-16/bert_config.json \
  --init_checkpoint=gs://cloud-tpu-checkpoints/bert/uncased_L-24_H-1024_A-16/bert_model.ckpt \
  --max_seq_length=128 \
  --train_batch_size=4 \
  --learning_rate=2e-5 \
  --num_train_epochs=3.0 \
  --output_dir=output \
  1. 然后是用gsutil类似linux命令来copy mv文件:详细在colab使用gs
    1.先安装gsutil
!curl https://sdk.cloud.google.com | bash #安装按照自己账户选择1、2这些
!gcloud init
	2.再使用ls, cp等
!gsutil ls gs:///data/ 
====================================
gs://xx/data/
gs://xx/data/xx.tfrecord

!gsutil cp -r gs://xx/data/* /content/

关于怎么直接使用gcp例子:

path = tfds.core.as_path('gs://reu/data/corpus.0.tfrecord')
with path.open('rb') as f:
  pass

content = path.read_bytes()

assert path.exists()
assert path.name == 'corpus.0.tfrecord'

2. kaggle使用

去kaggle生成自己的token令牌上传到相应位置, 复制加权限

#!mkdir /root/.kaggle/ #如果没有
!cp /content/kaggle.json /root/.kaggle/kaggle.json
!chmod 600 /root/.kaggle/kaggle.json


!mkdir /root/.kaggle/
!cp /content/drive/MyDrive/kaggle.json /root/.kaggle/kaggle.json
!chmod 600 /root/.kaggle/kaggle.json

最好升级到最新版本

!pip uninstall -y kaggle
!pip install --upgrade pip
!pip install kaggle
#也可以直接
!pip install --upgrade --force-reinstall --no-deps kaggle

再使用:
列出 health 类别下的所有比赛:kaggle competitions list -s health
下载 <competition_name>下的Data中所有文件,指定下载路径
-c:指定比赛名
-f:下载指定文件;
-p:指定下载到的本地路径
例如:

  • kaggle competitions download -c dogs-vs-cats
  • kaggle competitions download -c diabetic-retinopathy-detection -f trainLabels.csv.zip -p /conten/data/

Kernel使用:

usage: kaggle kernels [-h] {
    
    list,init,push,pull,output,status} ...

commands:
  {
    
    list,init,push,pull,output,status}
    list                List available kernels
    init                Initialize metadata file for a kernel
    push                Push new code to a kernel and run the kernel
    pull                Pull down code from a kernel
    output              Get data output from the latest kernel run
    status              Display the status of the latest kernel run

Example:
#拉取 rtatman/list-of-5-day-challenges这个notebook到本机目录/path/to/dest
kaggle kernels pull rtatman/list-of-5-day-challenges -p /path/to/dest

拉取他人notebook 输出(shared):

kaggle kernels output ss/notebooknames -p /path
#下载datasets
kaggle datasets download -d xx/xx -p /data/
#上传dataset 注意要修改dataset-metadata.json 改个数据集名字就好了
!kaggle datasets init -p /path/data/
!kaggle datasets create --path /path/data/ --dir-mode tar
kaggle datasets version -p /path/data -m "4" --dir-mode tar #更新版本

kaggle competitions leaderboard chaii-hindi-and-tamil-question-answering -s/-d#查看/下载
  • ss/notebooknames: 作者/notebook名字
  • path本机目录
kaggle competitions submit -c 比赛名-f submission.csv -m "sub"

[1] kaggle kernel

Guess you like

Origin blog.csdn.net/weixin_39754630/article/details/119418717