python
concurrent.futuresは、Pythonで並列処理を簡単に実装するための標準実装のライブラリです。 With構文とあわせて使うことで、タスクの投入から完了管理までを自動的に処理できます。 あとに残らないのでJupyter notebookのセル内で自己完結できるわけです。…
だいぶ以前にwith構文と合わせて使えるcontextlibの話を扱いました。 shuzo-kino.hateblo.jp当時はyield構文スゲー状態だったので、yieldに注目してましたが……後々から考えると開始と終了について明示的に書けるのが、本来のこの構文の強みだったみたいです…
実際のところ 公式サンプルをベースに、メソッドなどを切り分けて実装してみます import numpy as np import genesis as gs class FrankaController: def __init__(self, scene): self.scene = scene # エンティティの追加のみを行う self.setup_robot_entit…
実際のところ python-canはバージョンによって一部挙動が異なり、何度かサポートで面倒なめに遭いました…… というわけで $ pip show python-can Name: python-can Version: 4.4.2 Summary: Controller Area Network interface module for Python Home-page: …
つづきRoll 180°、それ以外0°として指定したいものの、このままオイラー角では使えません。 オイラー角を回転行列へ変換します。 実際のところ import numpy as np from ikpy.chain import Chain import os # URDFからチェーンを作成 chain = Chain.from_urd…
ikpyは名前の通りPythonでikを解く時に使えるシンプルなIK実装です。 作り捨て、単純な挙動をつくるだけ、あるいは私のようにMoveItなんて高尚なものは使えない人におすすめ。 実際のところ URDFファイル 今回は”minimalURDF.urdf.xml”という7軸のロボット…
探してみても、以下のような情報くらいしか出ておらず……肝心のパケットはどこに行ったんだっていう Open CAN Protocol 1. CAN bus parameters and single motor command send and receive message format Bus interface: CAN Baud rate: 1Mbps The format of…
執筆時点で全部のモデルに対応しているわけでは無いそうで 今週、上級モデルならGPT-4o越えだと話題になったLlama 3.1を導入して遊んでみようと思います 実際のところ llama3.1の導入(してない場合) ollama pull llama3.1 スクリプト import json import o…
shuzo-kino.hateblo.jp の続き 私が今回【読書メモ】実践 生成AIの教科書 - Bye Bye Mooreから学んだ概念にRAG(Retrieval-Augmented Generation:情報検索補強生成)というのがあります。 要するに業務知識を喰わせるという事……らしい。 実際のところ 与え…
実際のところ 導入 $ pip install ollama 実験 反応がないと不安になるのでstreamはTrueに設定 import asyncio from ollama import AsyncClient async def chat(): message = {'role': 'user', 'content': 'Why is the sky blue?'} async for part in await …
実際のところ 複数軸動かすときは、ID毎にインスタンスを生成して操作してあげればよいです。 各軸のIDは先に書き込みしておいてください。 import os import sys # 添加pcan_cybergear库的路径 # パスの追加 sys.path.append(os.path.join("..", "cybergear…
shuzo-kino.hateblo.jp の続き 今度は速度を変更 実際のところ # モーターの有効化 motor1.set_run_mode(motor1.RunModes.SPEED_MODE) motor1.enable() ## 速度パラメータを指定 motor1.write_single_param("spd_ref", value=0) # ゼロ点に移動 motor1.write…
実際のところ CANの立ち上げ ### CAN状態の確認 $ ip link show type can ### 既存プロセスの停止 $ sudo ip link set can0 down ### 通信レートの設定 $ sudo ip link set can0 type can bitrate 1000000 ### プロセスのたちあげ $ sudo ip link set can0 u…
実際のところ 作業環境 Ubuntu 22.04LTS 使用デバイス Ubuntuが動作する機体で操作するので、USB CANFD変換器を使いますUSB - デュアルチャンネル CANFDコンバーター Raspberry Pi4/Pi3B+/Pi3/Pi Zero(W)/Jetson Nano/Tinker Board/PC用 Windows Linuxソフト…
shuzo-kino.hateblo.jp などでやったリモートコマンドですが……これをsubprocessなりで立ち上げると、毎回毎回立ち上げる羽目になり効率が宜しくありません。 実際のところ 導入 $ pip install paramiko スクリプト import paramiko # SSHクライアントのイン…
"c.NotebookApp.ip = '*' "を設定したのにJupyter NotebookがmDNS経由で実行できないとき、 起動時に"ip"オプションをつけると何とかなるかもしれません 実際のところ ついでに、バックグラウンド処理をするようにします 初回はnohup.outからトークンを回収…
Pythonによる物理シミュレーションと強化学習: PyBullet + PyTorch作者:Tech CodeAmazon
ipywidgetsに似たような機能としてaddUserDebugParameterというのもあります 実際のところ メソッドの説明 paramId = p.addUserDebugParameter(paramName, rangeMin, rangeMax, startValue) スクリプト例 import pybullet as p import time # PyBulletのGUI…
実際のところ メソッドの詳細 lineId = p.addUserDebugLine(lineFromXYZ, lineToXYZ, lineColorRGB, lineWidth, lifeTime) 使い方 import pybullet as p p.connect(p.GUI) # 線の開始点と終了点 start_point = [0, 0, 0] end_point = [1, 1, 1] # 線を描画(…
実際のところ import pybullet as p import time import pybullet_data # GUIモードでpybulletを起動 p.connect(p.GUI) # デフォルトのデータパスを設定 p.setAdditionalSearchPath(pybullet_data.getDataPath()) # 重力の設定 p.setGravity(0, 0, -10) # 平…
実際のところ ライブラリ群の読み込み pybulletは当然として、描画のためにIPython.displayのdisplayとclear_outputよみます。 import pybullet as p import time import pybullet_data from IPython.display import display, clear_output import matplotli…
あらかじめ取得済みの、楕円を描く座標点があります これを重心軸からN度傾けた場合、それらの座標点がどうズレるかを計算する 実際のところ 座標点は全部で8点、これを重心を起点に15度ずらす例は以下の通り、。 折角なので、これをmatplotで描画してみ…
前回までの実験で、とりあえずローカルでLLMが動いたものの……なんやらトンチカンな回答を返す妙なブラックボックスがプロセスに居座っているだけになっていました。 こいつを目的用に改造するには、ファインチューニングなるモンが必要なようです。 実際のと…
実際のところ スクリプト argから質問文をとって回答するようにします。 import sys import torch from transformers import AutoModelForCausalLM, AutoTokenizer def generate_answer(question): loadmodel = "cyberagent/open-calm-7b" model = AutoModel…
OpenCALMはCyberAgentさんが開発した大規模言語モデル(LLM)です。 ChatGPTなどと同様、テキスト生成や理解など自然言語処理タスクに利用できますが、 特に日本語の理解に重点をおいているようです。 実際のところ 前提 Ubuntu 22.04LTS python 3.10.12 RTX 4…
リフレクション機能は、protoファイルを扱う側の環境が同ファイルを動的に使ったりするときに使うアレコレです。 実際のところ という事で……protoファイルで定義されてない内容も動的に解釈して使う方法をやってみます protoファイル syntax = "proto3"; pac…
実際のところ 型チェックつきのバイナリである その1でやったように、異なる機器間を高速で通信するために作られた規格です。 バイナリなのでJSONのようなテキストベースと比べてデータ量が軽いです。 加えてエンコード・デコードともに高速なのでオーバー…
実際のところ ソースコード サーバー側 from concurrent import futures import grpc import helloworld_pb2 import helloworld_pb2_grpc class GreeterServicer(helloworld_pb2_grpc.GreeterServicer): def SayHello(self, request, context): return hello…
gRPCはGoogleによって開発された、異なるデバイスやアプリケーション間で関数や手続きを呼び出すための*1フレームワークです。 HTTP/2を利用してバイナリ形式でデータをやり取りすることで、アプリケーション間を低遅延で安定した通信網でつなぐ事ができます…
リモート転送時にオプションなしで起動すると、X Window系のエラーが出て鬱陶しいので、調べてみました。 実際のところ jupyter notebook --no-browser 参考もと docs.jupyter.org