先日、表題のニュースがありました。以下、簡単な使い方メモ
1.拡張機能のインストール
- Colabという名前の拡張機能があるのでインストール(Google製であることを確認)
- ファイル作成から、JupiterNotebook形式を選ぶ
- Colabを選ぶ
- Auto Connectを選ぶとCPUだけ利用
- GPUやTPUを利用したい場合は、New Colab Serverを選ぶ
情報工学技術を利用した教育支援、いわゆる教育工学の研究やってます。研究に関係する技術動向(プログラミングねた)や、日常の覚書き、呟きなどを書いていこうかと思います。今のところ、初歩的なプログラムネタばっかりですが、、、、長い目でお付き合いください。
先日、表題のニュースがありました。以下、簡単な使い方メモ
1.拡張機能のインストール
表題の通りです。このサンプルは単純ですが、アイコン画像を用意して、メニューをいろいろ追加していけばいい感じになるのかなと思います。
これは PEP 668 で導入された新しい Python のセキュリティ仕様によるもので、特に macOS の Homebrew でインストールされた Python でよく見られます。
Homebrew は「システム Python 環境を壊さないため」に pip を直接使うことを制限しており、パッケージインストール時にこのエラーが出ます。
解決方法
表題の通り、LRSとしてLearning Lockerを使うことになったので、まずはPythonでのデータ(ステートメント)の登録方法など。一般的には、MoodleなどのLMSからLRSに送るので、コードでガリガリということはあまりないと思いますが・・・。
留意点としては(Learning Lockerを前提にしていますが)、
ChromaDBは、オープンソースのベクトルデータベースです。主にベクトル検索や類似性検索を目的としており、埋め込みベクトル(例えば、テキストや画像などから生成される特徴量ベクトル)を効率的に保存、検索、管理するためのデータベースとして設計されています。
インストール方法
1.Microsoft C++ Build Toolsのインストール
Windowsでは標準でCのコンパイラはありませんので、インストール時のコンパイル処理(pipが自動的にやってくれます)行うために別途インストールする必要があります。
インストーラーが実行されるので、この際、「C++によるデスクトップ開発」を選んで、MSVCの最新版とWindows11 SDKを入れておきましょう。
2.pipでインストール
以下の通りになります。serviceのインスタンスは生成済みとします。あとは特に特筆するところはないかと思います。
Googleフォームで投稿されたファイルには、元のファイルだけでなく、学生の名前が自動的に付く仕様になっています(for Educationなどでログイン指定をした場合)。これは、はっきりいって邪魔なので削除するPythonスクリプトです。なお、ファイルはダウンロードしたうえでローカルで処理するアプローチです。Googleドライブ上でやってしまう場合は、GASかな。
すぐ忘れてしまうのでメモ書き。Googleのサービスにアクセスする際には、次の手順が必要です。なお、本記事は、GoogleClassroomAPI を利用する過程での処理なので、適時読み替えてください。
Google Cloud コンソールの設定と認証ファイルの作成
まずは、Google Cloudコンソールで、GoogleClassroomAPIを使えるようにしないといけません。詳細の手続きは、公式サイトを参照してください。ここで、大切なのは
表題の件。ChatGPTに聞いたら古い回答?(動かない回答)が返ってきたため、メモ書きです。
(参考)WindowsでPythonで読み込みファイルのパス指定をした時に、表題のエラーがでることがあります。 これは、ファイルのパスを指定する際に、Windowsでディレクトリ名の区切りをしめす「¥(バックスラッシュ)」がエスケープ文字という規定された文字になっているからです。「\」をなぜバックスラッシュと読むのかというと、"¥"は"\"(実際は半角文字)に対応するからです。
解決策
3つあります
Flaskはそのフレームワーク自体がウェブサーバーの機能を持っているので、プログラムを実行するだけで、ウェブアプリとして公開されるという利点があります。しかし、他のマシンからWebアプリとして公開するには、app.runの記述に注意が必要です。
設定すべき項目
下記のように、runメソッドを実行するときに、host='0.0.0.0'を設定する必要があります。この設定をしないと、localhost以外からのアクセスできません。
なお、上記のように実行時の環境情報をコード内にハードコーディングするのはあまり望ましい形ではありません。Flask-DotEnvというライブラリを利用することで、実行時の環境変数をアプリごとに設定できるようですので、それもありのようです。
近年の画像AI技術が発展により、Kinectとかあまり注目されなくなりましたが、おちラボではデプスカメラとしての性能の良さなどに魅力を感じていることから、懲りずに使ってます。
といっても久しぶりな面もあり、最近流行りのPythonでも利用できることから、数あるライブラリの中で、
リダイレクトされるURLにアクセスするためのPythonコード。
Anaconda Navigatorの最新バージョンがいくつなのかは、
OpenCVで背景差分を取得するプログラムです。びっくりするほど簡単にできてしまいますね。 ポイントとしては、
表題の通り、ファイルをコピーしようとした時に、Permission deniedがでると、なにやらフォルダのアクセス権限に問題あるのかと思ったりしますが、これはcopyfile関数の誤解されやすい仕様です。
コマンドラインでファイルコピーになれている人は、ついつい
とりあえずメモ書き。以下のコマンドをターミナルで順番に打っていけばよい。
Google Classroom APIについては、GASのサンプルはネットによく出回っているのですが、Pythonでの記述方法がよくわからなかったので、メモ書きです。GASの場合と異なるのは、SCOPEの宣言をしないといけないのと、credentialsファイルの読み込みも必要になってくる点ですね。スコープを変更する際には、credentialsファイルも作り直す必要があるので要注意です。