« 2024年4月 | トップページ | 2024年6月 »

2024年5月27日 (月)

Meta Quest 3に非純正のヘッドストラップをつけてみた

Meta Quest 3のヘッドストラップというのは、

Img_5202

この頭に巻き付いてQuest 3を固定するためのへろへろのやつです。

これが結構、頭を締め付けるような感じな上、かつ頭頂部の部分が長すぎてまったく固定している気配がありません。

ということで、前々からこれを交換したいなぁと思ってはいたんですが。
純正品は1万円越えで、とても気軽に買えるものではありません。

が、とりあえず、非純正品ならばそこそこ安いので、思い切って買ってみることにしました。

Img_5200

で、来たのがこちら。明け方に頼んだら、その日の夜9時前には届きました。
お値段は2,399円。タイムセール中でした。

Img_5201

値段が安いので、クオリティを心配したんですが・・・元のへろへろバンドよりはマシかなと。

Img_5203

これを組み立てていくんですが、まずは後頭部の部分を組立て。

Img_5207

そういえば、側面のこれって外れるんか知らんと思いきや、

Img_5204

わりとあっさり外れました。

Img_5205

この部分も外します。そうしないと、

Img_5206

これが通せない。今回、一番苦労したのはこの頭部のバンドを取り付けるところでしょうか。

Img_5209

すったもんだで、ようやく組み立てました。
なんか、いい感じです。

Img_5215

で、早速つけてみたんですが、ちょーっと重くなったかなぁ、という感触。
ですが、つけ外しの操作がすごく楽になりました。
後頭部辺りにあるダイヤルを回せば、締め付け具合も調整できます。

Img_5216

このまま、これをつけて動画を2、3本ほど見てみました。
劇的に使い勝手がよくなるというものではないですが、とにかく装着が楽になったのが大きいかなと。
逆に言えば、着けている間はあまり差を感じません。

といってもこれが2千円台で買えました。悪い買い物ではなかった感じです。


[Maecker] vr ヘッドストラップ Meta Quest 3 用ヘッドストラップ Oculus Quest 3 用アクセサリー安定版 メタクエスト3 用エリートストラップ交換用

2024年5月25日 (土)

先日の「ローカルLLM+RAG」をGPU上+より大規模モデル(13b)でも動かせるようにしてみた

つい先日に「大規模言語モデル「ELYZA-7b」と自作小説「計算士と空中戦艦」で「RAG」をしてみた: EeePCの軌跡」という記事を書いたばかりですが、あれはCPUが前提でした。

が、やはりもっと大きなモデル使いたいし、GPU対応にもしておきたい、ということで追加でやってみました。

以下、元記事(大規模言語モデル「ELYZA-7b」と自作小説「計算士と空中戦艦」で「RAG」をしてみた: EeePCの軌跡)ができているという前提で、その先にやる手順を書きます。

CUDA 12.1の導入

pytorchとllama-cpp-pythonの両方に対応しているCUDAということで、12.1を使うことにしました。

インストールの方法は、

CUDA Toolkit 12.1 Downloads | NVIDIA Developer

からインストーラーをダウンロードし、それをダブルクリックしてインストールするだけです。

なお、最近のpytorchではcuDNNは不要らしいですが、心配な方は、

cuDNN Archive | NVIDIA Developer

から最新の一つ古いくらいのバージョンをダウンロードしておくといいでしょう。

pytorchのGPU対応

pytorchの公式サイト

Previous PyTorch Versions | PyTorch

にある通り、以下のコマンドを入れます。
(CPU版から上書きするコマンドにしてます)

> pip install --upgrade --force-reinstall torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu121

ここではとりあえず、前回と同じバージョンのtorchにしておきました。

llama-cpp-pythonのGPU版インストール

以下のコマンドを入れて、入手します。

> pip install llama-cpp-python --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cu121 --upgrade --force-reinstall --no-cache-dir

なお、llama-cpp-pythonのバージョンは前回の0.2.20から0.2.75と上がりますが、この方がCPU動作時でも早くていい感じでした。

13bモデルダウンロード

前回同様、gitで13bのモデルをダウンロードします。

> git lfs clone https://huggingface.co/mmnga/ELYZA-japanese-Llama-2-13b-fast-instruct-gguf/ --include "ELYZA-japanese-Llama-2-13b-fast-instruct-q8_0.gguf"

この「-fast-」とついたモデルは、精度そこそこで1.8倍速いらしいので、こっちを使うことにします。

プログラムコードの変更

先の記事にあった「elyza_rag.py」の中身で、以下の3か所を書き換えます。

(旧)

model_path = f"models/ELYZA-japanese-Llama-2-7b-instruct-gguf/ELYZA-japanese-Llama-2-7b-instruct-q8_0.gguf"

(新)

model_path = f"models/ELYZA-japanese-Llama-2-13b-fast-instruct-gguf/ELYZA-japanese-Llama-2-13b-fast-instruct-q8_0.gguf"

(旧)

llm = LlamaCPP(
    model_path=model_path,
    temperature=0.1,
    model_kwargs={"n_ctx": 4096, "n_gpu_layers": 32},

(新)

llm = LlamaCPP(
    model_path=model_path,
    temperature=0.1,
    model_kwargs={"n_ctx": 4096, "n_gpu_layers": -1},

(旧)


EMBEDDING_DEVICE = "cpu"

(新)


EMBEDDING_DEVICE = "cuda"

書き換えたものを、別の名前で保存しておきます。
(ここでは「elyza_rag_13b_gpu.py」としておきます)

実行

あとは、普通に実行です。

> python elyza_rag_13b_gpu.py

GPU対応されたとはいえ、起動直後のインデックス化作業はそこそこかかります(数分)。

なお、我が家はメインメモリーが64GBGPUがGeForce GTX1650Ti (GPUメモリー 4GB)という環境であるため、全然GPUメモリーが足りません。
が、メインメモリーの内、最大で半分までをGPUメモリーとして使える(共有GPUメモリ―として認識)ため、どうにか動きました。

20240525-133250

実行中のメインメモリーはこんな感じ。

20240525-133249

GPUの方も共有を含め、かなり目一杯使ってます。

そんな環境下ですが、前回と同じ質問を投げかけてその回答時間を比較します。
よく見たら、推論時間が回答の直上に書かれていたので、それを貼り付けます。
(CPUでも13bモデルを走らせての比較です。)

(CPU版)

20240525-132219

(GPU版)

20240525-130244

ざっと4分弱 → 2分強程度まで縮まりました。
残念ながらGPUがしょぼいので、さほど高速化の実感はありませんが、それでも速いことは速い。

さて、せっかくモデルのサイズを大きいものにしたので、それを実感できる文例を期待してます。
ということで、前回はおかしな回答か、あるいは回答不可と出た質問文を投げかけてみます。

## Question: ヴェテヒネンでのビスケットの食べ方は?

## Answer:
私は石のように硬いビスケットを豆スープに突っ込むと、少しだけ水分を含んで柔らかくなったそれにかじりつく。歯が折れそうな ほどの硬いビスケットを二欠け程口に含んだところで、豆スープを一気に流し込む。さらに干し肉にもかかじりつくと、今度はその独特の臭みをごまかすため、紅茶で口の中を洗浄する。

うん、まあ、文章を抜き出してきただけのような気がしますが。間違ってはいない。

## Question: ヴェテヒネンの乗員は何人いますか?

## Answer:
26名です。

これは簡単だったかな?でも7bモデルでは「回答できません」的なことを言われました。

## Question: 中央計算局とは?

## Answer:
中央計算局は真四角なコンクリート製で、窓がほとんどない殺風景な建屋だ。近所に並び立つ貴族街の優美で荘厳な屋敷や、窓の多 い軍司令本部の建物と比べると、味気ない場所ににしか見えない。

建物の特徴ではなく、何をするところかを聞きたかったんですが、質問が悪いですかね。

ということで、2分ほどで前回よりも良質な回答ができるようになりました。
が、読ませる文書ファイルがあまり良くないですね。できれば、もうちょっとビジネス文書的なもので試してみたいところです。


面倒なことはChatGPTにやらせよう (KS情報科学専門書)

2024年5月23日 (木)

大規模言語モデル「ELYZA-7b」と自作小説「計算士と空中戦艦」で「RAG」をしてみた

今さら感はありますが、大規模言語モデル(LLM)を独自の文章データでカスタマイズする手法の一つである「RAG」を使って、実際に使えるようにするところまでやってみました。

参考にしたのは、以下のサイト。

LlamaIndexを使ってローカル環境でRAGを実行する方法 - 電通総研 テックブログ

このサイト通りやれば楽勝・・・と思っていた自分を呪いたい。

Windows版Pythonで、しかもWSL2などを使わずにRAGをやろうというのが、本来無茶なのかもしれない。
が、チピチピチャパチャパしながら、どうにかRAGの動作環境を構築しました。

ということで、「Windows上でそこそこのLLMを使ってRAGしてみたい」と言う人のために、手順をここに残します。

なお、我が家のメインPCと会社PCの両方で動かしました。
最低ラインのハードは、「4コアCPUとメモリー16GB」だと思ってください。
(正直、とても実用レベルではありませんが)

RAGとは?

その前に「RAG」ってなんやねん?という方のための解説。

RAGとは「Retrieval-Augmented Generation」の頭文字で、簡単に言うと「LLMに外部の知識データベースを検索させて回答を生成させる」手法で、学習なしで独自データを用いた文書生成を可能にする技術です。

学生に例えると、通常の機械学習が「試験勉強」ならば、RAGは「辞書や教科書を見ながら回答する」ようなものです。

前準備

うちでは、Windows版Python 3.10.9を使って構築します。まだ持っていないという方は、以下から入手が便利です。

非公式Pythonダウンロードリンク - Python downloads

以下、C:\linuxというフォルダを作って作業しているものとします(フォルダ名は英数字なら何でもOK)。
まずは、コマンドプロンプトかWindows PowerShellにて、

> cd c:\linux

と移動しておきましょう。

はじめに「仮想環境」を作ります。
すでにPythonにライブラリを入れているという方は、必ずやっておいてください。その環境が壊れる恐れがあります。
私の場合は「rag」という名前の仮想環境を作りました。コマンドプロンプトかWindows PowerShellで、以下のコマンドを実行。

> python -m venv rag

この後に、仮想環境を有効化するには、

> .\rag\Scripts\activate

と入力します。

で、まだこれだけでは足りなくて、C++のビルド環境を作ります。

以下のサイト、

Microsoft C++ Build Tools - Visual Studio

からVisual Studio Build Tools 2022のインストーラーをダウンロードします。
これを立ち上げると、「Visual Studio Build Tools 2022」ってやつの横に「変更」というボタンが出てきます。

20240520-230318

出てきたオプションの中から「C++によるデスクトップ開発」のみをチェックしてインストールを開始します。
ちょっと時間かかります(数GBのダウンロード)。

さらに以下を参考に、Windows版Gitをインストールしておきましょう。

Gitのインストール方法(Windows版) #Git - Qiita

Python環境構築

これでいよいよ、Pythonのライブラリを入れていきます。

まずは「torch」です。

今回使うのはCPU版なので、

> pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cpu

でインストールします。

それ以外のライブラリですが、メモアプリか何かで、

llama-index==0.9.13
transformers==4.35.2
llama_cpp_python==0.2.20

と描き込み、「requirements.txt」という名前で保存します。
これを使って、必要なライブラリをインストールします。

> pip install -r requirements.txt

ここでllama-cpp-pythonもインストールされます。Visual Studio Build Tools入れてないと、ここで止まりますので注意。

コードを入れておく作業フォルダを作っておきます。
とりあえずここでは、「elyza-rag」とします。

コマンドプロンプト上でこのフォルダに移動し、

> cd c:\linux\elyza-rag

モデルをダウンロードしておきます。

> git lfs clone https://huggingface.co/mmnga/ELYZA-japanese-Llama-2-7b-instruct-gguf/ --include "ELYZA-japanese-Llama-2-7b-instruct-q8_0.gguf"

ダウンロードが終わると「ELYZA-japanese-Llama-2-7b-instruct-gguf」という名前のフォルダができるので、「models」というフォルダを作って、その中にこれを入れておきます。

※ 【追記】その後、上のモデルを「ELYZA-japanese-Llama-2-7b-fast-instruct-q8_0.gguf 」に変えてみましたが、ほぼ同じ性能で2倍近く高速化します。これを落とすには、
> git lfs clone https://huggingface.co/mmnga/ELYZA-japanese-Llama-2-7b-fast-instruct-gguf/ --include "ELYZA-japanese-Llama-2-7b-fast-instruct-q8_0.gguf"
と実行。以下、プログラムコード内のモデル名も修正してください。

文章ファイル準備

「RAG」というのは、独自の文章データを参照して、その中身について回答する仕組みです。
なので、独自文章データを用意しておきます。

data」というフォルダを作って、その中にUTF-8形式のテキストデータを入れておきます。

私の場合は、自作小説

計算士と空中戦艦 : 小説家になろう

からテキストダウンロードして、このdataフォルダに放り込んでおきました。全部で11万文字。

これで、ようやく準備完了です。

実行

では、いよいよ実行です。
と、その前に、実行させるプログラムコードがないですね。


import logging
import os
import sys

from llama_index import (
    LLMPredictor,
    PromptTemplate,
    ServiceContext,
    SimpleDirectoryReader,
    VectorStoreIndex,
)
from llama_index.callbacks import CallbackManager, LlamaDebugHandler
from llama_index.embeddings import HuggingFaceEmbedding
from llama_index.llms import LlamaCPP

# ログレベルの設定
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG, force=True)

# ドキュメントの読み込み
documents = SimpleDirectoryReader("data").load_data()

# LLMのセットアップ
model_path = f"models/ELYZA-japanese-Llama-2-7b-instruct-gguf/ELYZA-japanese-Llama-2-7b-instruct-q8_0.gguf"
llm = LlamaCPP(
    model_path=model_path,
    temperature=0.1,
    model_kwargs={"n_ctx": 4096, "n_gpu_layers": 32},
)
llm_predictor = LLMPredictor(llm=llm)

# 埋め込みモデルの初期化
EMBEDDING_DEVICE = "cpu"
# 実行するモデルの指定とキャッシュフォルダの指定
embed_model_name = ("intfloat/multilingual-e5-large",)
cache_folder = "./sentence_transformers"
# 埋め込みモデルの作成
embed_model = HuggingFaceEmbedding(
    model_name="intfloat/multilingual-e5-large",
    cache_folder=cache_folder,
    device=EMBEDDING_DEVICE,
)

# ServiceContextのセットアップ
## debug用 Callback Managerのセットアップ
llama_debug = LlamaDebugHandler(print_trace_on_end=True)
callback_manager = CallbackManager([llama_debug])

service_context
= ServiceContext.from_defaults(
    llm_predictor=llm_predictor,
    embed_model=embed_model,
    chunk_size=500,
    chunk_overlap=20,
    callback_manager=callback_manager,
)

# インデックスの生成
index = VectorStoreIndex.from_documents(
    documents,
    service_context=service_context,
)

# 質問
temp = """
[INST]
<<SYS>>
以下の「コンテキスト情報」を元に「質問」に回答してください。
なお、コンテキスト情報に無い情報は回答に含めないでください。
また、コンテキスト情報から回答が導けない場合は「分かりません」と回答してください。
<</SYS>>
# コンテキスト情報
---------------------
{context_str}
---------------------

# 質問
{query_str}

[/INST]
"""

query_engine = index.as_query_engine(
    similarity_top_k=5, text_qa_template=PromptTemplate(temp)
)

while True:
    req_msg = input("\n## Question: ")
    if req_msg == "":
        continue
    res_msg = query_engine.query(req_msg)
    res_msg.source_nodes[0].text
    event_pairs = llama_debug.get_llm_inputs_outputs()
    print("\n## Answer: \n", str(res_msg).strip())

これを「elyza_rag.py」という名前で保存。

あとはこれを、

> python elyza_rag.py

と実行します。

一番最初の実行時にのみ、埋め込み用モデルのダウンロードが行われます。続いて、テキストファイルのベクトル化が行われ、だいたい10分ほどで「## Question:」とでて待機状態になります。

この後ろに、質問を入れます。

では、せっかくなので、この文章ファイルにしかない情報を質問してみました。

##Question: カルヒネン曹長の恩師の名前は?

20240520-230145

質問を入力してエンターキーを押した直後、なにやらずらずらと文章っぽいものが並んできます。デバッグデータが並んでいるようですが、これを見ても何のことやら、というところです。

で、この状態で待つこと数分。回答が返ってきました。

## Answer:
ラハナスト

いやまあ、正解なんですけど、なんだかそっけない答えです。

もう一つ、行きます。

## Question: キヴィネンマー要塞の司令官の名前は?

で、また数分後。

## Answer:
エクロース大佐

ちょっと惜しいなぁと思ったのが、正解は「エクロース准将」なんですよね。佐官では司令官にはなれませんから。
作中の昇進前の階級が出てきました。

とはいえ、確かに「data」フォルダ内の文章を参照し、回答していることが分かります。

ただし、回答されない場合や、目茶苦茶な答えが返ってくることがあります。そこは軽量な7b(70億パラメータ)モデルですからねぇ。

にしても質問されて答えが返ってくるまでに数分(5~8分)かかるのは、ちょっと実用的ではありません。
今回はCPUで動かしたため、こうなりましたが、CUDA対応torchとGPU版llama-cpp-pythonを導入し、そこそこのGPUがあれば、より実用的な速度で運用できるかと思います。さらに上の13bモデル辺りを使えば、より高精度な回答が作れそうです。

といっても、やっぱり小説を食わせたのがよくなかったのかな。
本来ならばビジネス文書、あるいはQ&A集のようなものを入れておき、チャットボット的に活用するのがいいかもしれません。

セキュアな環境で動かせるローカルLLMによるRAGを検討されている方なら、ぜひご参考まで。


AIビジネスチャンス 技術動向と事例に学ぶ新たな価値を生成する攻めの戦略(できるビジネス)

2024年5月19日 (日)

円形計算尺を購入してみた

計算尺を操り戦う(弾道計算する)計算士を主人公とする小説をアップしております。

計算士と空中戦艦

が、そんな私自身は計算尺を持ってません。にもかかわらず、計算尺を使う主人公の物語を書くのはおこがましいのでは?
という想いがこのひと月ほど、ずっと抱いておりました。

Img_5182

てことで、買いました、計算尺。
作中で使っているのは、直線型のヘンミ式計算尺なのですが、Amazonで入手可能な円形計算尺でも原理はほぼ同じだと知って、ならばと買ってみた次第。
お値段は1500円ほどでした。

Img_5183

中身はこれだけ。計算尺本体、ケース、そして取説です。

Img_5192

この計算尺、意外に小さい。胸ポケットにすっぽり入ります。

Img_5184

また、ついている取説が意外に細かい。これだけで、早速計算に取り掛かれそうです。
てことで、ちょっとやってみました。

まずは、取説にもある通り「18×25」の計算をさせてみます。

Img_5187

といっても、この計算尺には18や25がありません。
まずは「C尺」(外側から2列目)の「1」の印を、「D尺」(最外周)の「1.8」に合わせます。

Img_5188

この状態で、C尺の「2.5」のメモリを見ます。
その上のD尺が「4.5」となってます。

つまり、「1.8×2.5」が「4.5」と得られます。
これを「18×25」に置き換える場合は、それぞれ10倍づつ、すなわち100倍すればいいので、4.5に100をかけて「450」と得られます。

うん、慣れればかなり早く求められそう。

これだけじゃ面白くないので、もうちょっと別の計算をさせてみます。

Img_5190

7の2乗を求めます。当然答えは「49」ですが、これを求めるには一番表にある透明な板に引かれた赤い線「カーソル線」を使います。

これをC尺の「7」に合わせると、「A尺」(赤い数値のさらに一つ内側の目盛り)が「49」となっていることが分かります。

Img_5193

逆に平方根を求める場合は、このA尺の値に平方根を求めたい数値を合わせます。
上の場合は「2」にカーソル線を合わせてますが、その上のC尺の値がだいたい「1.4」になってますね。
(√2 = 1.4142・・・)
てな具合に、乗算も平方根も求められます。

さて、この調子で三角関数も計算したかったのですが。
この計算尺には、三角関数を計算するのに必要な「S尺」「ST尺」がついてません。
残念ながら、そこまで対応した計算尺ではなかったです。Amazonで売ってる計算尺の中には、この三角関数に対応したものがありませんでした。

てことで、弾道計算などをさせるにはちょっと目盛り不足でした。
まあ、アナログな計算器というものに触れられたのはよい体験だったと思うことにします。

Img_5191

なお、このケースに入れて持ち歩くこともできます。
これで、いつでもどこでも計算尺、というわけです。

誰もがスマホを持ち歩き、複雑な計算であれば専用アプリや電卓アプリなどで計算できてしまう時代。そんな時代に、ちょっとこの計算尺は不便極まりないかもしれません。
が、スマホにせよ電卓にせよ、電気がなければ何もできません。世界がどうなろうとも、計算がこなせるこの計算尺に触れてみることは、決してノスタルジックな気分を味わう以上の何かが得られるような気がします。
(そんな時代になったら、そもそも生きていけるかどうかわかりませんけど)


コンサイス 定規 円形計算尺 27N 100805

2024年5月15日 (水)

最大45W出力のUSB-C端子を持つUSB‐A × 2 、USB-C × 2、電源4口タップを購入

Img_5172

こんなのが届きました。
エレコム製の4口タップです。

Img_5173

ただのタップではありません。USB-A × 2、USB-C × 2の端子を持つタップです。
お値段は、Amazonで5900円ほど。タップにしてはちょっと高い。
とはいえ、電気系のものにはあまり変なメーカーのものは使いたくありません。それで、このエレコム製を選択しました。

今どきのタップらしく、コンセント穴はシャッター付きで、かつ雷サージ付き。かつ、各コンセント穴にスイッチがついているため、使わないときはオフにできます。

Img_5176

現状がこんな感じ。6口タップにUSB-A × 6ポートの電源をつないでます。といっても、御覧の通りUSB-Aには3つしか刺さってません。
この6ポート充電器、一体いつ買ったのか調べてみたら、2015年4月でした。

Anker 60W USB急速充電器購入: EeePCの軌跡

(当時の写真)

なんと、9年前のものです。そりゃあ使いすぎですわ。

さらに、タップにも65WのUSB-C電源が刺さってます。

こうしてみると、なんかすごい無駄。

Img_5177

これを、この新しいタップで置き換えるとこんな具合に。
USB-Cのケーブルが1本増えてもこのスッキリ具合。65Wの白い電源はなくてもいいかなと思いましたが、これはこれで会社PCをつないだりするため、残置です。

Img_5178

分かりにくいかもしれませんが、どんどん机の上がすっきりしていきます。あの大きな6ポート充電器がいなくなったことで、かなり余裕ができました。
ゆくゆくはこの机も、小型のものに置き換えられたらと思ってるので、整理整頓が進むと、この野望?も実現に向けて進みます。


エレコム 電源タップ 雷ガード USBタップ 2.5m 4個口 USB 45W [ USB-A 2ポート/ USB-C 2ポート ] USB Power Delivery 充電器 個別スイッチ脚パーツ USB用キャップ付き ホワイト ECT-24425WH

2024年5月13日 (月)

iPhone 15 Plusを1日ほど使った感触

iPhone 15 Plusを一日、使ってみました。

Pxl_20240512_013040111

まずは、事前に買った保護フィルムとケースの愚痴から。
上の写真を見ていただいて分かるかと思いますが、このフィルム、光を当てると青い。
暗いところで使う分には問題ないのですが、明るい場所だと青く反射して、黒い部分が青っぽくなります。
ちょっとそこが、気に入らない。

Pxl_20240511_101655035

ついで、ケースですが、この最近のiPhoneにつきもののカメラ部分のでっぱり、ここが何ら保護されてません。
ただ穴がくり抜かれているだけ。
iPhone 12のケースには、このカメラ周りに出っ張りがあって、それが保護の役目を果たしていたんですが、ほぼ同じ構造のこのケースにはそういうものがついてません。

これはカメラ保護というより、カメラのエッジ部分が他のスマホなどを傷つけないための役目、というのもあったんですよね。
その点だけは、このケースはいただけません。

Pxl_20240511_101609736

ただ、ケースそのものは薄いので、このMagSafeなバッテリーも使用可能でした。ちょっと反応が悪かったですが。

Pxl_20240512_004705032

この日はほぼ半日、動画を見てました。ダンジョン飯に終末トレインなど、見過ごしたアニメが多いですからね。他にもYouTubeもいくつか。

Img_e5170

で、5時間半ほど使った結果、バッテリーはなんと100 → 70%ほどと、思った以上に消費が少ない。
新しいってこともあるんですけど、それにしても抜群のバッテリー容量です。

Pxl_20240512_004832281

と言いつつ、途中、こういう機器に頼ってしまいましたが。
こいつに至っては、Primeビデオ1本、YouTube動画2本ほどで91% → 73%と、かなーりの消費量です。
そりゃあ搭載しているバッテリー容量の違いもあるし、なによりも解像度がすさまじいですからね。比較する対象が悪過ぎます。そこは心得ているつもり。

Pxl_20240512_103505221

そんなこんなもありますが、やはり一番のメリットはこれ。USB-Cに統一できた、という点でしょうね。
おかげで、Lightningケーブルを減らせます。

Pxl_20240512_004044943

といっても、こいつがある以上、ゼロにはできない。会社iPhoneもLightningだし、完全にゼロとなる日はまだ遠そうです。

Pxl_20240512_113008995mp

が、そういえばPC ⇔ iPhone転送ケーブルに使っていたこれが不要となるため、これを充電ケーブルに回せば・・・かなりスッキリしそうです。

他にも、いくつか気になったところを列挙。

・ やっぱり重いか
 iPhone 12と持ち比べると、大きくなった分、やっぱり重くなってます。操作感が落ちるほどとは言わないけれども、ずっと持っているとやっぱり重さを感じます。
 なお、画面の大きさはさほど気にならず。指が届かないってのはありますが、それは前のiPhone 12でもほぼ同様だったので、今さらです。

・ 音はよくなった?
 本体が大きくなったからなのか、それとも単なる進化なのか、スピーカーの音がよくなってる気がします。

・ 顔認証が速くなった?
 ロック解除までの速度が速くなってる気がします。顔認証機も3台目ですが、やはり進化している模様です。
 でも、指紋認証には敵わないなぁ。

・ バックグラウンド処理の継続

 大きなファイルをダウンロードする系のアプリでは、画面スリープすると2、3分ほどで処理が止まっていたのが、止まらずダウンロードし続けてくれてました。iPad miniやPixel 6aでは当たり前だったバックグラウンド処理の継続が可能になったのは、地味に嬉しい。

あと、使っていて思ったのは、この大きさが使い勝手の良さギリギリのラインかな、というところでしょうか。
これよりも大きいiPad miniだと、いきなり使い勝手が落ちます。7インチでも微妙。

これまで使ってきたスマホの中で、iPhone 6 Plus、7 Plusは比較的長寿命で、長く使えた「当たり」機種でしたが、同じく「Plus」を冠するこの15 Plusもその伝統?を受け継いで、当りとなるんでしょうか。
個人的には、かなり期待できるiPhoneだとは感じました。


iPhone 15 Pro/15 Pro Max/15/15 Plus 便利すぎる!テクニック(iOS 17の新機能や便利技が満載!)

2024年5月12日 (日)

ダイソーの「マヨネーズスタンド」をとあるガジェット用に購入

Pxl_20240511_025657852

こんなものを買ってきました。マヨネーズスタンド。
わざわざこのブログで書くようなものか?とお思いでしょうが、実はとあるガジェットのために購入。

Pxl_20240511_025857159

答えはこれ。Meta Quest 3コントローラー用スタンドにするためです。

どなたかのXで見たんですが、ほんと、ピッタリです。

Pxl_20240511_025953538

これだけだと寂しいので、ついでに買ったものを紹介。
こんなケースを購入したんですが、

Pxl_20240511_030007887

実は机の脇にある引き出しの中に、Raspberry Pi工作の残骸が多数転がってます。
これをまとめるのに使えないかと買ったんですが、

Pxl_20240511_030151963

これもわりとピッタリでした。
いやあ、百均は侮れません。

部屋がきれいになったという記事は書きましたが、

部屋が広くなりました: EeePCの軌跡

おかげで、収納回りもすっきりできました。
百均には、感謝です。

Meta Quest 3 128GB | 画期的なMR(複合現実) | PC VR/MR ゴーグル

2024年5月11日 (土)

iPhone 15 Plusを購入

表題の通りですが、今この中途半端な時期に、iPhone 15 Plusを買いました。

Img_5162

Img_5163

早速開封。ちなみに色はブルーです。容量は128GB。

Img_5164

なお、事前にケースとフィルムを買っておいたので、

Img_5166

それを最初につけます。なんかちょっと、左に偏ってしまいました。
本当はあまり張りたくないんですが、iPhone 12やPixel 6aの画面にうっすらキズが付いてしまったため、そのトラウマで画面保護をするようにします。

Img_5167

で、電源を入れて、設定に入ります。

Pxl_20240511_024857062

最近は古いiPhoneから簡単に中身を転送できるので、楽ちん楽ちん・・・とはいかず、なんかよくエラーや読み取りしないなんてことが頻発しました。

Pxl_20240511_025416659

なお、付属品はこれだけ。うちにはこのケーブル、いろいろあるので要らないかなぁ。

Pxl_20240511_025155750

転送しつつ、充電。
実はiPhone 15 Plusを買った最大の理由は、端子がUSB-Cになるから、というもの。
いい加減、Lightningケーブルはなくしていきたいところ。

この通り、USB-Cコネクターははまりました。なんかちょっと固いですが。

これで自分の持っているスマホはすべてUSB-Cにはなったんですが、会社iPhoneと、Air PodsがまだLightningなので、当面はゼロにはできなさそう。

Pxl_20240511_025603225

で、転送すること10分ほど。

Pxl_20240511_045021644

使えるようになりました。
といってもLINEや金融系アプリなどは、諸手続きが必要。その辺りを少しやったら、なんとか普段通りの使い勝手に戻りました。

なお、Plusの方を選んだ理由ですが、やはり画面とバッテリーの大きさですね。
特にバッテリーは、大きい方が寿命が長いという経験則もあるので、長く使うことを想定するとこれは必須です。

文字入力なども試してみましたが、大きいだけに打ち間違いは起こりにくい。

思ったより軽いので、さほど重さが苦になりません。

それ以外は、さほど使い勝手に変化もなし。
そろそろスマホもコモディティ化してきましたね。

しばらく使ってみて、レビュー記事を上げます。

対応 iPhone 15 plus ガラスフイルム 用の ガイド枠付き 6.7インチ 【2 2 1枚セット 国産旭硝子素材 - 高 品質 】【 apple iphone15plus フイルム(2枚入り) カメラフィルム(2枚入り) ガイド枠 】 アイホン 15 plus 強化ガラス アイフォン15プラス 保護フィルム 撥油性 超耐久 高光沢 超薄型 液晶 硬度9H 指紋防止 衝撃吸収

2024年5月 5日 (日)

なぜかタロット占いの本(カード付)を買ってきました

表題の通りです。

占い嫌いの俺がなぜぇーっ!

Img_5117

本の方はこんな感じ。

Img_5118

そして、大アルカナと呼ばれる22枚のカードが付いてます。

Img_5119

タロット占いってのは小アルカナの56枚と合わせて、計78枚のカードを使うものらしいですが、とりあえずこの22枚だけでもできるみたいです。
てことで、いってみよう!

何を占うか、ちょっと考えましたが、ちょうど5月1日から「小説家になろう」にて「第12回 ネット小説大賞」の募集が始まりまして。

第12回コンテスト | ネット小説大賞

今回は、全部で28作品をエントリーしました。
こいつの行く末を占ってみましょうか。ずばり、今回は入賞するのか否か。

Img_5120

カードの扱い方です。これに従ってやります。

Img_5124

まずカードをよく切って

Img_5138

時計回りにまじぇまじぇします。

Img_5142

で、3つの山に分けて、真ん中を左右の山に振り分け、

Img_5143

それをざざっと混ぜ合わせてもう一度切ります。

Img_5144

その山を持ち、カードを並べます。
並べ方は、もっとも単純な「ホースシュー・スプレッド」にしました。

Img_5121

こんな感じです。

が、最初に並べた時は、半数以上が「リバース」(逆向き)になってしまい、こういう時はやり直しだそうで、やり直しました。
気合が足りなかったのかもしれません。

Img_5146

で、最終的に出てきたのはこれ。
解説書を見つつ「解読」すると、

過去の状況:恋人たち(逆)・・・集中力がない、捗らない
現在の状況:節制(逆)・・・節度がなく、時間の浪費
近い将来:皇帝(逆)・・・オーバーワーク気味、真剣さが足りない
取るべき手段:星・・・目標を高く持つ、イマジネーションを大切に
潜在意識:世界・・・成功、良い結果が出る、最高潮
妨害:悪魔・・・悪い誘惑、欲望
最終結果:女帝・・・繁栄する、努力が実る

てことだそうで。

つまり、過去・現在はぐちゃぐちゃだけど、最後の最後で報われる、てことでおk?
ただし、阻害要因として悪い誘惑がくるかもだから要注意ね、というものだそうです。

うーん、これはいい結果なのか、悪い結果なのか。
まあ、あまり期待するなってことでしょうか。

で、このCAEだAIだ機械学習だ統計学だと言っている私が、こんなオカルトなアイテムなんぞに手を出したのか?という根本的な疑問を抱いている方もいらっしゃるかと思います(いない?)。

実は最近、連載を始めた「計算士と空中戦艦」という作品があります。

計算士と空中戦艦

今回珍しく宇宙ものではない作品。イメージ的にはツェッペリン型飛行船に大砲つけて戦うという話なんですが、出だしは好調で、空想(SF)というカテゴリで日間1位を取りました(5月3日)。

Screenshot_20240503074719

今書き上げた分だけで完結にしようかと思ってたんですが、調子がいいのでもうちょっと続けてみようかな、と思った次第。
そのためのネタとして、このタロット占い本を購入したというわけなんです。

主人公は、計算尺片手に弾道計算などをこなす、バリバリの計算少女。アナログな計算尺だけで正確な予測をたたき出すという、そういうキャラなわけですが、この先を書くなら真逆のライバルキャラの存在が必須だと考えたんです。
となると、計算・解析の逆は当然「占い」ですよね。
占いにハマったキャラを出してやろうと考えています。

占いと言っても、占星術、易経、トランプ占いなどいろいろですが、ここはタロット占いにしよう、となんとなく思いました。
・・・と、思ったまではいいんですが、タロット占いなんて全然分かりません。過去に一度、やられたことがあるくらい。
それを知るという目的のためだけに、このワンセットを近所の本屋で買ってきました。

ただ、このカードに出てくるキャラを見れば見るほど、なんか創作意欲が刺激されそう。ファンタジー要素がふんだんに含まれてます。というか、ファンタジーの大元でもあるんでしょうね、タロットカードの中身は。

ただ、こういうなんとなく始めたものがきっかけで、それが本趣味に変わるということが過去、何度もありましたので、もしかしたらこのまま占い師に・・・いやあ、どうでしょうか。


運命が見えるタロット占い?神秘のカードでしあわせになる

2024年5月 4日 (土)

モバイルモニターをスタンド固定

見てください、うちのYogiboのカバーを変えました。

Img_5100

これまで紫だったんですが、明るいオレンジ色にしてみました。

と、いきなり脱線しちゃいました。

Img_5101

はい、本題です。こんなものを買いました。
モニターアームです。お値段は2700円ほど。

Img_5102

頑張って、組み立てます。

Img_5103

まずはベースの棒を机に固定し、

Img_5104

そこにアームをつけます。
以前にもモニター用のアームを購入しましたが、あの時のは根元のみ回転できるだけの簡易のものでした。
今回は一つ、関節がついてます。

Img_5107

で、以前買った16インチのモバイルモニターに金具を固定し、

Img_5109

アームに取り付けます。

Img_5112

ちなみに、こんなに横に伸びます。自由度が増えましたね。
小さいモニターだからこそ、この自由度が大事です。

Img_5113

さて、早速使ってみました。まずはUSB-Cのみで接続できるPCとの接続。
ケーブル一本でつながるため、スッキリつながります。

Img_5114

メインPCには残念ながら、USB-Cからディスプレイ出力できないため、HDMIでつなぐ必要があります。
また、USB-Cによる電力供給も別途必要。

Img_5116

が、御覧の通り、いい感じにつながります。
YouTubeを再生しながら、手元で別の作業ができます。
実際、今もブログ記事を書きながら、YouTube見てます(料理研究家リュウジさんの動画見てます)。
これが想像以上に便利。もっと早く、こうすればよかった・・・
当然、Raspberry Pi 5などでも使い勝手が上がりそうです。

以前よりも小さいモニターだからですかね。加えて、アームの自由度も上がって使い勝手いいです。
正直、どうかなと思ってましたが、モバイルモニター×関節アームの組み合わせ、悪くないですね。

Bracwiser PCモニターアーム ディスプレイアーム モニターアーム 4軸 水平多関節 13-32インチ対応 グロメット式&クランプ式 VESA規格75-100mm 耐荷重10KG MD7421

2024年5月 2日 (木)

部屋が広くなりました

ハッピーハッピーハッピー!

Img_5094

部屋が広くなりました。

実はずーっと隣に子供の学習机が置かれていたんですが、部屋の割り振りを再配置して、ようやくこの部屋は自分の机だけになりました。

Img_5095

あまりに広くなったので、これを自分の部屋に引き取ることにしました。
ハイアール製のワインクーラーです。

ハイアール製ワインクーラー購入: EeePCの軌跡

調べてみたら、買ったのは2018年。購入して6年が経ちますが、未だに使ってます。
ワインがこぼれることがあるため、下にはビニールシートを引いております。それごと上に持ってきました。
夏場、この2階の部屋は暑くなるんで、ワインクーラーでは既定の温度まで下げられなくなるんですが、夏にはワインを飲まなくなったので、まあここでいいやってことに。

これで大型のデスクトップでも置けそうですが、さて、どうしたものか・・・

晋遊舎ムック 部屋作り大百科

« 2024年4月 | トップページ | 2024年6月 »

当ブログ内検索

スポンサード リンク

ブログ村

無料ブログはココログ