Skip to content

Instantly share code, notes, and snippets.

@kohya-ss
kohya-ss / image_caption_cli.py
Created April 11, 2026 10:30
OpenAI互換APIサーバ+VLMを用いて画像をキャプショニングする
from __future__ import annotations
import argparse
import base64
import json
import mimetypes
import sys
from pathlib import Path
from typing import Iterable
from urllib import error, parse, request
@kohya-ss
kohya-ss / gemma4_31b_minimal.py
Created April 7, 2026 11:50
Gemma4 31Bのpure PyTorch実装(tokenizerのみtransformers使用)
"""
Gemma 4 31B Dense - Minimal Pure PyTorch Implementation (Text-only, Inference-only)
Architecture reference: huggingface/transformers modeling_gemma4.py
Target model: google/gemma-4-31B-it (or google/gemma-4-31B)
Design goals:
- PyTorch only, no transformers dependency
- Gemma 4 31B 固定 (config値をハードコード可)
- 推論時の実験 (レイヤー繰り返しlogit調査等) がしやすい構造
diff --git a/csrc/fused/fused.cu b/csrc/fused/fused.cu
index fb8b9f1..571a9e6 100644
--- a/csrc/fused/fused.cu
+++ b/csrc/fused/fused.cu
@@ -14,6 +14,12 @@
* limitations under the License.
*/
+#include <cuda/barrier>
+#include <cuda/pipeline>
@kohya-ss
kohya-ss / client_v4.py
Last active July 2, 2025 12:56
メッセージボックスMCPサーバ
# client_v4.py
"""
Message Box MCP Client
インストール方法等はserver_v4.pyを参照
## 使用法
メッセージ取得:
@kohya-ss
kohya-ss / auto_prompt_chat.py
Created February 9, 2025 13:13
ノベルゲーム風簡易CUI:会話とプロンプト生成を別のchatにして一貫性を向上させる
# ライセンスは Apache License 2.0 です。
# お勧めのオプションは:
# --flash_attn --q8_kv_cache --n_gpu_layers <GPUのVRAMに応じて> --n_ctx <VRAMとモデルのcontext lengthに応じて>
import argparse
import random
import msvcrt # Windowsの場合
import toml
from typing import List, Optional, Union, Iterator
@kohya-ss
kohya-ss / mem_eff_safeopen.py
Last active September 13, 2025 06:23
メインメモリを消費しないsafetensorsファイル読み込み・保存
# License: Apache 2.0
from typing import Dict, Optional
import struct
import json
import numpy as np
import torch
@kohya-ss
kohya-ss / llm_novelist_v1.py
Last active March 31, 2026 09:32
ローカルLLMに小説を書いてもらう
# Apache License 2.0
# 使用法は gist のコメントを見てください
import time
import argparse
import os
import json
import tomli
import traceback
from typing import Any, Dict, List, Optional, Union, Iterator
@kohya-ss
kohya-ss / llm_characters.py
Last active July 10, 2025 14:50
system promptを切り替えてLLMに複数キャラを会話させる
# Apache License 2.0
# 使用法は gist のコメントを見てください
import argparse
import importlib
import json
import os
import random
import time
import traceback
import tomli
@kohya-ss
kohya-ss / stepwise_linear_decay_lr_scheduler.py
Created May 22, 2024 13:40
指定ステップまで定数、そこから減少、その後定数
# 仮に logs に入れたら以下のように指定
# --lr_scheduler_type logs.stepwise_linear_decay_lr_scheduler.get_stepwise_linear_decay_lr_scheduler
# --lr_scheduler_args "step_a=50" "step_b=80" "factor_1=1.0" "factor_2=0.1"
#
# step_a までの学習率: 指定した learning_rate * factor_1
# step_a から step_b まで: 線形に減少(増加)
# step_b からの学習率: 指定した learning_rate * factor_2
from torch.optim.lr_scheduler import LambdaLR
@kohya-ss
kohya-ss / get_wd14_tag_confidence.py
Created May 17, 2024 12:57
WD14 Taggerでタグごとの確信度を取得する
import argparse
import csv
import glob
import os
from pathlib import Path
import cv2
import numpy as np
import torch
from PIL import Image