Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

python

Ubuntu 22 LTSでOpenCALM をためす その3:ファインチューニングなるモン

前回までの実験で、とりあえずローカルでLLMが動いたものの……なんやらトンチカンな回答を返す妙なブラックボックスがプロセスに居座っているだけになっていました。 こいつを目的用に改造するには、ファインチューニングなるモンが必要なようです。 実際のと…

Ubuntu 22 LTSでOpenCALM をためす その2:チャット的な挙動

実際のところ スクリプト argから質問文をとって回答するようにします。 import sys import torch from transformers import AutoModelForCausalLM, AutoTokenizer def generate_answer(question): loadmodel = "cyberagent/open-calm-7b" model = AutoModel…

Ubuntu 22 LTSでOpenCALM をためす その1:環境構築

OpenCALMはCyberAgentさんが開発した大規模言語モデル(LLM)です。 ChatGPTなどと同様、テキスト生成や理解など自然言語処理タスクに利用できますが、 特に日本語の理解に重点をおいているようです。 実際のところ 前提 Ubuntu 22.04LTS python 3.10.12 RTX 4…

Python3でgRPCをつかう その4:リフレクション機能

リフレクション機能は、protoファイルを扱う側の環境が同ファイルを動的に使ったりするときに使うアレコレです。 実際のところ という事で……protoファイルで定義されてない内容も動的に解釈して使う方法をやってみます protoファイル syntax = "proto3"; pac…

Python3でgRPCをつかう その2:サーバーとクライアントをつくる

実際のところ ソースコード サーバー側 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…

Python3でgRPCをつかう その1:準備

gRPCはGoogleによって開発された、異なるデバイスやアプリケーション間で関数や手続きを呼び出すための*1フレームワークです。 HTTP/2を利用してバイナリ形式でデータをやり取りすることで、アプリケーション間を低遅延で安定した通信網でつなぐ事ができます…

Jupyter Notebookでブラウザを一々起動しない

リモート転送時にオプションなしで起動すると、X Window系のエラーが出て鬱陶しいので、調べてみました。 実際のところ jupyter notebook --no-browser 参考もと docs.jupyter.org

ROS2 humbleでxArm公式力覚センサーを使えるようにする

実際のところ サービスを有効化し、力覚センサーを有効化する 設定ファイル $ cd ~/dev_ws/install/xarm_api/share/xarm_api/config/ $ vim xarm_params.yaml最終的に、falseになっている以下の行をtrueにして有効化。 ft_sensor_enable: true ... get_ft_se…

SSHリモートコマンドで接続先のJupyterNotebookファイルを実行する

接続先のJupyterNotebookファイルはWebsocketを使うとスマートに実行できるそうなのですが……私はそんな凄い技術は使えないので、遅くとも慣れたSSHリモートコマンドでやっていこうと思いました( 実際のところ 接続先が「user@remote.local」で、実行するJup…

Jupyter Notebookの接続トークンを知りたいのに"jupyter notebook list"で情報が得られないとき

Jupyter Notebookのトークンをしらべる 実際のところ 通常のjupyterなら、ここでトークンがでてきます が、ご覧の通りOT-2ではそれらしい表記がありません # jupyter notebook list Currently running servers: http://0.0.0.0:48888/ :: /var/lib/jupyter/n…

Jupyeter Notebookのファイルのすべてを実行させる

実際のところ $ jupyter nbconvert --to notebook --execute --inplace MyNotebook.ipynb"--to notebook --execute"で出力フォーマットとしてノートブックを指定し実行します。。 "--inplace"は、元のノートブックファイルを実行結果で上書きします。つまり…

cv2でRealsenseのカラー画像をRGBに明示的に変換

import pyrealsense2 as rs import numpy as np import cv2 # RealSenseの設定オブジェクト conf = rs.config() # カラー画像を取得 conf.enable_stream(rs.stream.color, width, height, rs.format.bgr8, fps) # Realsenseの画像受け取りパイプの解放 pipe …

【読書メモ】Pythonで学ぶ画像認識 機械学習実践シリーズ

Pythonで学ぶ画像認識 機械学習実践シリーズ作者:田村 雅人,中村 克行インプレスAmazon

UFactory Lite6のPython SDKで” API -> set_tgpio_digital(ionum=0, value=1) -> code=1”なるエラーがでるとき、グリッパーは明示的にオンにしておく

実際のところ [SDK][ERROR][2022-10-27 15:48:42][base.py:340] - - API -> set_tgpio_digital(ionum=0, value=1) -> code=1 なとき myip = "192.168.1.X" arm = XArmAPI(myip) arm.set_gripper_enable(True) 参考もと Lite6 - Gripper API Causes Errors · …

xArm Python SDKをUbuntu 22.04 LTSに構築する その2:位置制御・軸制御

実際のところ from xarm.wrapper import XArmAPI ## アーム接続先の決定 robot_ip = '192.168.1.195' arm = XArmAPI(robot_ip) #>> ROBOT_IP: 192.168.1.195, VERSION: v2.3.102, PROTOCOL: V1, DETAIL: 7,13,CS1304,DC1303,v2.3.102, TYPE1300: [1, 1] #>> …

xArm Python SDKをUbuntu 22.04 LTSに構築する その1:環境構築

実際のところ 必要なパッケージ $ sudo apt install git $ sudo apt install python-is-python3 リポジトリの用意 $ git clone https://github.com/xArm-Developer/xArm-Python-SDK.git 導入 $ cd xArm-Python-SDK $ python setup.py installfrom xarm.wrapp…

ROS2のlaunchファイルで引数を与える

実際のところ UFactory Lite6用ノード Joystick用ノード JoystickでUFactory Lite6を動かすpythonアプリ の三つを起動する例を考えます。 from launch_ros.actions import Node from launch.actions import DeclareLaunchArgument, ExecuteProcess from laun…

rclpyを活用しJoystickでロボットアームを動かす その2:Joyとxarmを連動する

実際のところ rclpyでやる せっかくVelもあるので xarm_ros2/xarm_msgs/srv/MoveVelocity.srv at humble · xArm-Developer/xarm_ros2 · GitHub import rclpy from rclpy.node import Node from xarm_msgs.srv import SetInt16ById,SetInt16, MoveVelocity fr…

rclpyを活用しJoystickでロボットアームを動かす その1:Joyの環境をROS2 humbleに構築

実際のところ 導入 $ sudo apt install ros-$ROS_DISTRO-joy*一緒に導入されるteleop_toolsはこれのこと GitHub - ros-teleop/teleop_tools: A set of generic teleoperation tools for any robot. つかう デバイス名の確認 $ lsusb ... Bus 001 Device 004:…

リスト内包表記なる魔界記法 その3:メソッドを連続して実行させてデータをつくる

存在ごと忘れていましたが……PythonにもRuby黒魔術めいた匂いのする暗黒記法「リスト内包表記」というやつがあります。 lambdaでぶん回すみたいなアレです。 実際のところ depth_info_topic_publisherのクラス内変数recent_valueを6回とって、 それを格納し…

rclpyの購読ノードに値を保存して読み出す

実際のところ ROS2標準メッセージのPointを購読し、 その値を内部の変数"recent_value"に格納するようなケースを考えます import rclpy from rclpy.node import Node from geometry_msgs.msg import Point # グローバル変数 global_value = None class Point…

ROSBOARDがQoS設定由来のエラーでROS2で使えないときの対処

このエラー対応は、恐らく近い将来本体にマージされます。 実際のところ ROS2 humble用のプロジェクトでもROSBOARDを使ってみようとしたところ、以下のようなエラーが。 [INFO] [XXX.YYY] [rosboard_node]: Subscribing to /camera/camera/color/camera_info…

C++からpython3スクリプトをコールする

実際のところ #include <cstdlib> int main() { // "helloworld.py" Pythonスクリプトを実行 int returnCode = system("python3 helloworld.py"); if (returnCode != 0) { // エラー処理 } return 0; } 参考もと cstdlib - cpprefjp C++日本語リファレンス</cstdlib>

Jupyter Notebook から rclpy を読み出す実験 その7:SubしてPubする

すでにあるトピックを購読、加工して再配布というような処理を考えます。 今回はD435の値を一定の書式にしてmsgとして配布する方法を試してみました。 実際のところ 前提 Ubuntu 22 LTS Jupyter スクリプト import rclpy from rclpy.node import Node from s…

Jupyter Notebook から rclpy を読み出す実験 その6:timer callback

実際のところ import rclpy from rclpy.node import Node import time class MyTimerNode(Node): def __init__(self): super().__init__('my_timer_node') self.timer = self.create_timer(1.0, self.timer_callback) # 1秒ごとにコールバック self.count = …

Jupyter Notebook から rclpy を読み出す実験 その5:Realsense D435の値を取得する

shuzo-kino.hateblo.jp のシリーズ 実際のところ 前提条件 Ubuntu 22 LTS Jupyter Notebook から rclpy を読み出す実験 その1:環境構築 - Bye Bye Mooreの手順を実装済み librealsense2のROS2用環境を構築済み スクリプト import rclpy from rclpy.node im…

【読書メモ】PythonでまなぶSQLiteデータベース入門 上巻: Excelデータベースからのステップアップ

PythonでまなぶSQLiteデータベース入門 上巻: Excelデータベースからのステップアップ作者:NSシステムズAmazon

実行中のクラスメソッド名をしらべる

ずいぶん前にRubyでクラスメソッドを調べるinspectメソッドをやりましたが shuzo-kino.hateblo.jpPythonにも、そういうのがあります。 実際のところ 組込みモジュールなので、特に導入の必要なし。 import inspect class MyClass: def method_one(self): pri…

画像ファイルのURLを指定するとBase64にして変数に格納するPythonスクリプト

実際のところ import requests import base64 import sys def download_file_as_base64(url): if not url: sys.stderr.write("Error: No URL provided.\n") sys.exit(1) response = requests.get(url) if response.status_code == 200: # ファイルの内容をBa…

ThreadでAPI処理待ちのアスキーアニメーションをだす

OpenAPIの処理が延々とかかって心理的にアレなので 実際のところ from openai import OpenAI from dotenv import dotenv_values import threading import time import sys def loading_animation(event): animation_chars = ['|', '/', '-', '\\'] i = 0 whi…