Google Colab的一些使用
原来作为Python开发者, 我基本是不使用jupyter的, 因为IPython足够好用了, 我写过相关文档 有关Python调试(IPython).
前几个月看了吴恩达教授的这篇ChatGPT教程, 其中对于 colab 的使用给了我很多启发, 建议没看过的读者也去看看
【【中文完整版全9集】第1集 引入-ChatGPT提示词工程师教程 吴恩达xOpenAI官方】 https://www.bilibili.com/video/BV1AT41187qt
colab 有几个优势:
- 保存在 Google drive 中, 不用担心数据丢失
- 界面美观, 支持 Vim 键位
- 保留调试记录, 可以像写文档一样写代码
- 既可以使用 Google 的服务, 也能使用本地的 jupyter 服务
VSCode 也有 jupyter notebook 的支持, 同样也是调用过了 jupyter server, 但是你需要把文件保存在本地, 需要依赖一个 VSCode, 而且页面我感觉也没有 Colab 美观. 所以大部分情况我都是在用 Colab.
Colab基础使用
打开 https://colab.research.google.com/ 直接创建新的 notebook 即可:
一些功能
开启 ssh 服务
我先前写过一个提供ssh服务的功能, 也可以用在 colab 中, 可以再推销一波哈哈:
1 | !bash <(curl -sL http://corvo.fun/scripts/upterm.sh) |
最终的效果如下:
连接本地 jupyter 服务
在本地机器上, 需要首先安装 jupyter, 然后启动 server 即可:
1 | jupyter notebook \ |
Google 这里也给出了使用 docker 的方案:
https://research.google.com/colaboratory/local-runtimes.html
转发远程端口到本地
之前调试 easytrader 时, 由于仅支持 Windows, 我就在 Win10 虚拟机中运行了 jupyter server, 然后使用 ssh 将端口转发到了本地, 就能直接用网页的 colab 进行调试了.
1 | ssh -L 8888:XXX.XXX.XXX:8888 dev |
几个案例分享
数据库导出与查询
这个方案我同我们的 DBA 同学商量过, 他也比较喜欢. 因此我分享在这里, 希望也能帮助有类似需求的伙伴.
1 | !ls |
这个方案的好处在于你能够边想逻辑边写 Python 语句, 而且 notebook 能将你的思路记录下来 后期, 当你需要分享给别人操作过程的话, 只要简单修改就可以做到.
特殊字符处理
https://stackoverflow.com/a/69482789
我遇到了一个比较特别的密码aa@bbb&%2021
里面的特殊字符需要转义好填写到db.txt中
1 | import urllib.parse |
收益率分析
之前尝试计算做量化, 准备自动买卖股票, 可是需要演算收益率什么的. 我知道量化大佬们都在用 Excel, 我自己没那水平, 就用 Python 简单模拟下收益率计算, 感觉这个代码未来还能复用, 也简单分享给大家:
1 | result = 0 |
总结
现在, 我发现自己已经离不开 Colab 了, 它把我需要进行简单演算的工作都承担了. 而且还能为演算做笔记, 做笔记过程中又能编写代码模拟逻辑. 相比较复杂的 Excel, 程序员可能对 Colab 更加有掌控性吧.