Google Colaboratory

1: デフォルトの名無しさん 2021/05/03(月) 10:35:40.91 ID:fmjSWVjG
https://colab.research.google.com/

▼特徴
・無料
・各種googleサービスと連携可能
・GPU、TPUも無料
・プライベート開発も共有開発もできる
・機械学習系ライブラリもすぐ使える

2: デフォルトの名無しさん 2021/05/03(月) 10:41:20.11 ID:fmjSWVjG
>>1
▼Google Colaboratoryとは?
・Jupyter NotebookのGoogle板(クラウド開発)
・呼称はグーグル・コラボラトリー、グーグルコラボ

3: デフォルトの名無しさん 2021/05/03(月) 11:05:44.56 ID:fmjSWVjG
>>1
▼特徴
・開いて3秒でpython開発
・情報共有がしやすい
 他人と開発環境が同じなのでクロスプラットフォームを気にする必要なし
 まったく同じコードを実行すれば、同じ結果が得られる

実際にできたこと
・機械学習各種
 TensorFlowを使った画像認識など
・mecabによる自然言語処理
・Githubとの連携
・簡易のhttp.server、CGIサーバーの構築
・各種GoogleサービスのOauth認証、APIの利用

ローカル開発同様にgoogleサービス外のAPI利用、googleサービス内のAPI利用、
スプレッドシートの編集、photosへの投稿、bloggerへの投稿、
スクレイピング(規制されてるところもあり、プロキシを通せばOK)、メルマガサービス
Githubでの開発・プッシュ・動作確認など一連の開発作業、などなど
大抵のことはグルコラで完結

4: デフォルトの名無しさん 2021/05/03(月) 11:11:51.72 ID:fmjSWVjG
グルコボの最大のメリットはやはり
大袈裟でもなく、(どのOSかとか関係なく)3秒でpythonでの開発ができること

ブラウザ起動 → https://colab.research.google.com/ → print(‘Hello Colab!’) → 実行

これだけ

5: デフォルトの名無しさん 2021/05/03(月) 11:43:42.30 ID:TWnbU2pi
学習にもってこい

6: デフォルトの名無しさん 2021/05/03(月) 12:32:09.17 ID:fmjSWVjG
ちなみに本題ではないので割愛しましたが
スクレイピング、クロールはrobots.txtに従うようにしましょう >>1

7: デフォルトの名無しさん 2021/05/03(月) 15:43:29.49 ID:llMsU0LE
約千円の有料版って、どう違うんだろね

8: デフォルトの名無しさん 2021/05/03(月) 16:22:18.97
有料板はちょっと上のランクのGPUが使える
メモリも大きくなる

無料版はページ開きっぱなしだと無操作で数時間?でセッションが切れるが
(ただしpipでインストールしたやつとかはそのまま)
有料版は24時間位つなぎっぱでOK

14: デフォルトの名無しさん 2021/05/19(水) 03:13:59.05 ID:dymeXeeo
理想はローカル開発と同じようにふつうにpip installで勝手に上書きしてくれることだが。
せっかくgithubと連携機能があるのに
パッケージ開発もcolab上でやろうとする時に
コード編集→プッシュ→実動作確認
のテンポ悪いのを改善してくれることに期待

15: デフォルトの名無しさん 2021/05/21(金) 02:59:56.76 ID:QhZtqnCl
colab専用垢つくってみた
【ランタイムを再起動】しないとpip installが更新されない問題
https://colab.research.google.com/drive/11CaMStOC0FL2EAd06omHqt1O7PN4kC5l?usp=sharing

(1)最初に、
ランタイム>すべてのセルを実行
してpipでインストール

(2)その後、src_stringでソースを適当に編集して(test2: など)
再度、
ランタイム>すべてのセルを実行
してpipでインストール
動作確認すると出力が変わっていないはず。

(3)最後に、ランタイム>ランタイムを再起動
してから
ランタイム>すべてのセルを実行
してpipでインストールすると
動作確認で出力が変わっているはず。

google colab以外だと同じ手順で
(2)で出力も変わり上書きインストールができる

16: デフォルトの名無しさん 2021/05/22(土) 03:22:48.51 ID:lD4vg1sU
colabですんなりflask使えたので足し算するだけのwebアプリ作ってみた
https://colab.research.google.com/drive/1Y7EASNlJZhcf3rCK5x8rNACO5JrMr2Nt?usp=sharing

17: デフォルトの名無しさん 2021/05/24(月) 09:00:28.56 ID:mdYfBy+R
こんな便利なものをなぜ無料で提供してるんですか

18: デフォルトの名無しさん 2021/05/24(月) 17:32:33.56
ここまでプログラミングの敷居が下がればプログラマー人口が増え
google側にとっては人材確保の確率も高くなる、優秀な人材が生まれる可能性も高くなる
フォーク機能もあり、それらのデータを解析すれば
コーディングをもっと高度に自動補完してくれるようなAIを開発することができる
非常に合理的なサービスだと思う

しかしgoogleは損切りもおそろしく早いので、
採算が取れないと判断すればこのサービスは即終了となるだろう

19: デフォルトの名無しさん 2021/05/24(月) 17:43:22.54 ID:pNkn+mP6
採算は普通に取れないでしょ
スプレッドシートとかに比べたら所詮ニッチなサービスなんで、Googleの売上規模からすりゃ大したコストじゃないからCSR活動みたいなもんとして存続してるだけだろう
Google様の気まぐれで明日に終わっても全く不思議はないサービスだよ

21: デフォルトの名無しさん 2021/05/26(水) 13:01:39.27 ID:SIjME/uv
colabで2つ教えて下さい
1. hyperasをimportするとランタイムを立ち上げる度にインストールが必要なんですが仕様ですか
2.loggerがリアルタイムに反映されないのも仕様ですか
2が不便過ぎてちょっと。。。

22: デフォルトの名無しさん 2021/05/27(木) 17:12:44.25
1. は制限時間終わったら再インストール必要
制限時間内なら(ランタイム再起動しなければ)そのままimportできた
しかし、たまにhyperas関係なく左下の方にサーバーエラー云々出てくるときがあるので
そういうときは再インストールしないといけないかも

2.は>リアルタイムに反映
とはどういうことだろう
import logging
import time
time.sleep(1)
logging.warning(‘warning’)
time.sleep(1)
logging.error(‘error’)
これは普通に表示される
最小構成が何かわからないのでなんとも言えないけど

23: デフォルトの名無しさん 2021/05/27(木) 17:54:24.64 ID:P5elfv8G
>>22
ありがとうございます。
2はそもそも、ログファイルが生成されない事が頻繁に起こっていて困ってますが仕様では無いんですね。
一時的な不具合かも知れないので様子を見ます。

30: デフォルトの名無しさん 2021/07/04(日) 20:24:12.83 ID:mWpZCyif
いろんなブログで、Colaboratory上でsshdを動かした上、さらにngrokを使ってVSCodeを繋ぐ方法が紹介されてるけどさ
これってngrokでColaboratory側から自前のPCへの接続を受け入れるとどういう良いことがあるの?

37: デフォルトの名無しさん 2021/07/27(火) 11:19:50.81 ID:xonkgP8b
コードセル上で文字列として扱うコードにも
コード補完されるような機能がほしいな

IPython.display.Javascriptなら
三連引用符使って
Javascript(”’
console.log(‘hoge’)
”’)
みたいな書き方でもcolabの補完が効いて見やすくなるので
これのpython版がほしい

40: デフォルトの名無しさん 2021/08/08(日) 16:08:09.04 ID:bLis/p3k
自己解決した。二本までっぽいな

41: デフォルトの名無しさん 2021/08/12(木) 15:35:29.63
ちょっとした開発は全部colabに移行したわ
グッバイvisual studio code
ほぼ使わなくなった

52: デフォルトの名無しさん 2021/10/27(水) 16:40:11.68 ID:sx0a4lD1
catはあるけどviはないんだよな

54: デフォルトの名無しさん 2021/10/29(金) 14:34:20.20 ID:8oUaQxck
今更気づいたけど
200番代とそれ以外のステータスを設定しても
# colab.googleusercontent.com
にリクエストすると200と500の二択で返されるっぽい

localhostで試したり、ngrokみたいにポート転送したときと挙動が違うので
当然クライアント側のレスポンスも変わってしまう

エラーハンドル以外はすべてJSONレスポンスで、
みたいに対応するしかないか

55: デフォルトの名無しさん 2021/10/31(日) 20:36:43.92 ID:K6PaHoq/
テキストファイルの編集ってどうやるの?
!sed -i “s/hoge/hage/g” abc.txt
とかで書き換えてるけど、めちゃ不便

56: デフォルトの名無しさん 2021/11/06(土) 16:57:36.76
>>55
置換目的ってことかな

それともエディタとして使いたいってことなら
from google.colab import files
files.view(“/content/abc.txt”)

で右カラムにエディタが出てくる
しかし、置換ツールなどはない(javascriptで拡張できなくはないと思う)

59: デフォルトの名無しさん 2021/11/20(土) 14:03:48.59
driveへファイルの保存・読み書きするとき
反映されるまで結構ラグあるっぽいな
保存読書のジャーナリングまでするのはちょっとcolab特異すぎるので悩みどころ

61: デフォルトの名無しさん 2021/11/29(月) 15:40:53.73 ID:BiWYKN0E
簡単なfastAPIの立ち上げ
DETAへのデプロイは上手く出来なかったので保留
https://colab.research.google.com/drive/1KM92UtGbEuQekx1pVBmpFnj9IooAPwh-?usp=sharing
CLI周り
https://github.com/deta/deta-cli
これ見ればいけるのかもしれないけど・・折れた・・

fastAPI使いやすくていいね

65: デフォルトの名無しさん 2021/12/04(土) 00:59:58.93 ID:uxEQQv2y
streamlitのテスト

colabから、というよりブラウザの関係?でappがうまく起動しなかったが
おそらく>>54が原因かなと。
ngrok介したらできた
もちろんcolab使わずにローカルでもできた
一応play with dockerからも出来た

colab完結でstreamlitのテスト
https://colab.research.google.com/drive/1Hnu5CkMyMnEjVVIiNtliVz39Gq_sVtiL

若干、表示にもたつき感があるような?
まぁでもコードがかなりシンプルになった

もしFlaskやfastAPIなどのwebフレームワークと連携する場合
従来書いていたtemplates周りのコードが必要なくなる
つまり、htmlやjsを触らずにほぼpythonだけで完結する

66: デフォルトの名無しさん 2021/12/06(月) 15:04:48.41
fastAPIとStreamlitとsqlalchemyとngrokを連携してしみた

Streamlitとapiそれぞれサーバーを起動
Streamlit側の【サンプルデータの登録ボタン】を押して
fastAPI(DBはsqlalchemy)側のapiを叩いて
データをPOST、GETしたデータを表とグラフで表示
のサンプル

CORSエラーがあるのでngrokを介することにした
apiサーバ起動時にngrokのパブリックホストを一旦テキストで保存してから
streamlitサーバー起動、という回りくどい感じになるけど
他に良い方法ないのだろうか

[すべてのセルを実行]ワンクリックのみで完結、再現
https://colab.research.google.com/drive/1I9KEAm0zvj3z12ooffWCF5vpKMCTyFRY
CRUD周りもっと改善したい

84: デフォルトの名無しさん 2021/12/15(水) 16:57:37.87
ToDoアプリ(fastapi+sqlalchemy+streamlit)
https://colab.research.google.com/drive/1NpT9PcLUjW8YqvT4G_NvRm8M9n6GizSH

今のところStreamlitの使いにくいとこ
・ページ遷移操作やポップアップがやや難
・ボタンの配置位置など自由度が難

85: デフォルトの名無しさん 2021/12/15(水) 21:34:29.83
Streamlitのページ遷移部分だけ抜き出し
https://colab.research.google.com/drive/1umgL56FKBlTkNUQMk2DMGUmeIuAQMMUB

st.session_state使えばいいのはわかったが癖がある
こういうやり方であってるのかもわからない状態
・通常の画面切り替え、ページ飛び
・ポップアップ
・戻る
これができれば大抵のことができるだろうというページ遷移3選

未解決
・ボタン配置が縦並び
・ポップの二重クリック

88: デフォルトの名無しさん 2021/12/23(木) 22:04:16.45
st.empty()と.container()便利だな・・
これ使えばページ遷移9割解決しそう

91: デフォルトの名無しさん 2021/12/28(火) 13:03:16.95
雑だがStreamlitで集合写真の画像読み込んで番号割り当てるやつ
https://colab.research.google.com/drive/1WORBn4ULF9krgCV9DpiqeZMo11iaDMxQ

参考

「URL」から「ファイル参照」から、どちらも対応
斜め顔だったり横顔は未対応
顔の当たり反応も省略(番号が他人の顔にかぶるときがある)

93: デフォルトの名無しさん 2021/12/31(金) 18:31:46.34
youtubeダウンロードするやつ
https://colab.research.google.com/drive/1A1arSrbxtzSOz3UfpeUzzLGsSUZngYWc

・動画個別保存、チャンネル一括保存の両方対応
・画質設定 best,1080p,720p,480p,360p,240p,144pで保存に対応

無料枠のせいかダウンロードに結構時間かかる
googleにダウンロード後、ローカルにダウンロード
ってなるので結構無駄
ランタイムを出荷時設定にリセットすれば一回こっきり動画消える
12時間くらい経ってもDLした動画は消える
消したくなければマウントしたgoogleドライブのパスを
download_dirに設定すれば、googleドライブに保存可能

こちらもおすすめ

最新記事

Ads Blocker Image Powered by Code Help Pro

広告ブロック検出

コンテンツを見るために広告ブロッカーをオフにしてください