Caffe(カフェ)は、カリフォルニア大学バークレー校のBerkeley Vision and Learning Center(BVLC)が公開した、画像認識向けの深層学習フレームワークです。名称は「Convolutional Architecture for Fast Feature Embedding」の頭字語で、2014年の論文(arXiv:1408.5093)で発表されました。喫茶店やイタリア語の「caffè(コーヒー)」とは別物です。2026年10月時点のCaffeは新規開発で選ぶ対象ではありませんが、2014〜2017年に配布された.caffemodelは今も現場に残っています。この記事では、Caffeの現状とTensorFlow・PyTorchとの違いを一次情報で確認したうえで、手元のCaffeモデルをOpenCVで推論する方法と、ONNX経由でTensorFlowへ移す手順を実測値付きで示します。
まとめ
CaffeはC++/CUDA製のCNN向けフレームワークで、ネットワーク構造を.prototxtというテキストで宣言し、重みを.caffemodelに分けて保存します。正式リリースは1.0(2017年4月18日)が最後で、後継のCaffe2も2018年にPyTorchへ統合されました。新しく学習するならPyTorchかTensorFlowを選んでください。
既存の.caffemodelは、Caffe本体をビルドしなくても動かせます。推論だけならOpenCV 4系のcv2.dnn.readNetFromCaffe()で足ります(OpenCV 5.0ではCaffeの読み込み機能が削除済み)。TensorFlowやPyTorchで使い続けたいなら、caffe2onnxでONNXに変換し、TensorFlowへはさらにonnx2tfでSavedModel・TFLiteに変換します。BVLC公式のGoogLeNetでこの経路を通したところ、OpenCV・ONNX Runtime・TensorFlowの3つで予測上位5クラスが一致しました(数値は後述)。
Caffeの開発状況とライセンス(2026年10月時点)
最終リリース1.0以降の更新停止とCaffe2のPyTorch統合
Caffeの現状はGitHubの公開データで確認できます。BVLC/caffeのReleasesにある最新の正式リリースは1.0(2017年4月18日)で、以後タグは打たれていません。リポジトリはアーカイブ(書き込み禁止)にはされていないものの、最終pushは2024年7月31日、未クローズのissueとプルリクエストは合わせて1,176件、スター数は34,553件です(2026年10月22日にGitHub APIで取得)。「アーカイブされていない=保守されている」ではありません。
| フレームワーク | 最新リリース | 公開日 |
|---|---|---|
| Caffe (BVLC) | 1.0 | 2017-04-18 |
| PyTorch | 2.14.1 | 2026-09-30 |
| TensorFlow | 2.21.0 | 2026-03-06 |
| Keras | 3.15.1 | 2026-07-29 |
Caffeの後継としてFacebook(当時)が開発したCaffe2は、Caffeの新版ではなく別系統の製品です。2018年5月のCaffe2公式ブログの発表でPyTorchと統合され、独立した製品としては提供されていません。PyTorchのリポジトリにcaffe2ディレクトリの一部は残っていますが、torchから.caffemodelを直接読む機能はありません。「Caffe→Caffe2→PyTorch」という系譜は正しく、Caffe系列の後継を探しているなら答えはPyTorchです。基本はPyTorchとは?読み方・できること・TensorFlowとの違いと入れ方【2.14対応】で確認できます。
BSD 2条項ライセンスと商用利用
CaffeのソースはLICENSEファイルにあるとおりBSD 2条項ライセンスで、著作権表示と免責条項を残せば商用製品への組み込みや改変も認められます。著作権は貢献者ごとに保持される「shared copyright model」です。ただし、これはソースコードの話です。BVLCが配布した学習済みモデルには個別の条件があり、たとえばGoogLeNet(bvlc_googlenet)はモデルのreadmeで「unrestricted use」とされている一方、学習データであるImageNetの利用条件は別途確認が要ります。業務で使うモデルは、モデルごとのreadmeを先に読んでください。
Caffeのモデルを構成するファイルの役割
Caffeの最大の特徴は、構造と重みの分離です。ネットワークの構造はProtocol Buffers形式のテキスト.prototxtで宣言し、学習済みの重みはバイナリの.caffemodelに入ります。受け渡しは2つのファイルで済み、受け取った側はPythonを用意せずにC++から読み込めます。OpenCVがCaffeモデルを直接読めるのも、この素直な構成のおかげです。手元に残っているファイルは、拡張子と名前で役割を判別できます。
| ファイル | 中身 | 推論に必要か |
|---|---|---|
| deploy.prototxt | 推論用のネットワーク構造 | 必要 |
| .caffemodel | 学習済みの重み | 必要 |
| train_val.prototxt | 学習・検証用の構造(データ層・損失層つき) | 不要 |
| solver.prototxt | 学習率・反復回数などの学習設定 | 不要 |
| .solverstate | 学習の途中経過(再開用) | 不要 |
| mean.binaryproto | 学習画像の平均値 | 前処理で使う |
推論で渡すのはdeploy.prototxtと.caffemodelの組み合わせです。train_val.prototxtには学習・検証用のデータ層などが含まれる場合があり、そのままでは推論用の入力と合わないことがあります。また、BVLC公式のGoogLeNetのdeploy.prototxtは先頭のinput_shapeでバッチ数をdim: 10と宣言しています。OpenCVは入力に合わせて形を変えるので問題になりませんが、ONNXへ変換するとこの10がそのまま固定の入力形状になります(ONNXの章で実測)。
構造をテキストで書き下すぶん、ファイルは長くなります。GoogLeNetのdeploy.prototxtは2,157行あります。Kerasなら繰り返し現れるInceptionモジュールを関数にしてループで生成できるので、書き下す量は大きく減ります。CaffeにもPython Layerがあり、Pythonで独自層を追加できます。C++で層を追加する場合は再ビルドが必要です。
CaffeとTensorFlow・PyTorch・Kerasの違い
CaffeとTensorFlowの違い(設計思想・記述方法・出口)
CaffeとTensorFlowは競合というより、世代と守備範囲が違います。CaffeはCNNを中心とする深層学習モデルを扱い、.prototxtで宣言した構造をC++で実行する設計です。可変長系列やアテンション、独自の損失関数は苦手です。TensorFlowは演算グラフを組む汎用の数値計算基盤で、Kerasを標準の高水準APIとして統合し、条件分岐やループを含むモデルもPythonで書けます。TensorFlow Lite(現在はLiteRT)でモバイルやマイコンへ、TensorFlow.jsでブラウザへ配布できる点もCaffeにはありません。TensorFlow側の全体像はTensorFlowをPythonで使う方法:対応版・インストール・GPU設定と動くコード【2026年10月】にまとめています。
| 観点 | Caffe | TensorFlow | PyTorch |
|---|---|---|---|
| モデル定義 | prototxt(宣言) | Python(Keras API) | Python(nn.Module) |
| 主な用途 | 画像分類・検出 | 汎用 | 汎用 |
| 層の追加 | C++またはPython Layer | Pythonで実装 | Pythonで実装 |
| モデル形式 | .caffemodel | SavedModel / .keras | .pt / state_dict |
| 配布先 | C++アプリ | LiteRT・TF.js・TF Serving | ExecuTorch・ONNX経由 |
| 最新版 | 1.0 (2017-04) | 2.21.0 (2026-03) | 2.14.1 (2026-09) |
表の最終行が結論です。設計の優劣を論じる前に、片方は9年間リリースがありません。学習を伴う新規開発でCaffeを選ぶ理由は、2026年時点では見当たりません。
新規開発でのフレームワーク選定基準
学習を伴う新規開発ならPyTorchが第一候補です。研究由来の実装と学習済みモデルの配布がPyTorchに集まっており、学習ループの定型部分を削るPyTorch LightningはPyTorch Lightningのインストール方法とpip install lightning/pytorch-lightningの違いで導入手順を確認できます。Caffe時代のCNNを置き換える出発点としては、EfficientNetV2をPyTorchで使う実装ガイド|torchvision・timmの転移学習とS・M・Lの選び方で扱っている転移学習が現実的です。モバイル・組込み・ブラウザへの配布が最初から要件にあるなら、TensorFlowを選ぶ価値があります。
Kerasは単体の実行エンジンではなく、TensorFlow・PyTorch・JAXをバックエンドに選べる高水準APIです。Caffeとは役割が違うため、比べるならモデルの書き方(宣言的なprototxtかPythonのコードか)と、学習後にどこへ配布できるかの2点です。そして既存の.caffemodelを推論するだけなら、どのフレームワークも入れずに次章の方法で済ませるのが最短です。
OpenCV 4系による.caffemodelの推論
以下の実測では、BVLC公式のGoogLeNetを使いました。重みbvlc_googlenet.caffemodelはモデルのreadmeに記載のURLから、deploy.prototxtは同じディレクトリから、テスト画像cat.jpgはリポジトリのexamples/imagesから取得し、1つの作業ディレクトリにまとめています(重みのSHA1はreadme記載の値と一致)。
OpenCVのdnnモジュールはCaffeのモデルを直接読み込めます。cv2.dnn.readNetFromCaffe()にdeploy.prototxtと.caffemodelを渡すだけで、Caffeのインストールは要りません。
import cv2
import numpy as np
net = cv2.dnn.readNetFromCaffe("deploy.prototxt", "bvlc_googlenet.caffemodel")
img = cv2.imread("cat.jpg")
blob = cv2.dnn.blobFromImage(img, scalefactor=1.0, size=(224, 224),
mean=(104.0, 117.0, 123.0), swapRB=False)
net.setInput(blob)
prob = net.forward().reshape(-1)
print(int(np.argmax(prob)), float(prob.max()))
注意点はOpenCVのバージョンです。2026年6月に公開されたOpenCV 5.0では、dnnのCaffeインポータが削除されました。5.xブランチのdnnソースにはcaffeディレクトリが無く、DarknetとTorch(Lua版)のインポータも消えています。実際にopencv-python-headless==5.0.0.93を入れてcv2.dnnのreadNetFrom系関数を列挙すると、残っているのはreadNetFromONNX・readNetFromTFLite・readNetFromTensorflow・readNetFromModelOptimizerの4つだけでした。PyPIのopencv-pythonは最新が5.0.0.93のため、素のpip install opencv-pythonではCaffeモデルを読めない環境ができます。上限を付けて4系に固定してください。
pip install "opencv-python<5"
opencv-pythonの4系の最新は4.14.0.94(PyPIのリリース日表記は2026年7月28日)です。この版でBVLC公式のGoogLeNetにCaffe同梱のサンプル画像cat.jpgを推論させると、1位は「tiger cat」(確率0.5004)、2位「tabby cat」(0.2282)、3位「Egyptian cat」(0.1618)でした。推論時間は、ウォームアップ1回の後に20回計測した平均で1枚20.0ミリ秒でした(ホストはIntel Core i9-9880HのMac、colimaのx86_64仮想マシンにCPU 4コアを割り当てたDockerで、各ライブラリのスレッド数は既定のまま)。
前処理の引数は、学習時の条件に合わせないとエラーを出さずに結果だけがずれます。同じ画像で引数を変えて比べた結果が次のとおりです。
| 前処理 | 1位(確率) | 2位 |
|---|---|---|
| mean=(104,117,123)・swapRB=False | tiger cat (0.5004) | tabby cat |
| meanなし | tiger cat (0.3661) | tabby cat |
| swapRB=True(RGB順で入力) | Persian cat (0.5318) | Egyptian cat |
今回のBVLC GoogLeNetでは、OpenCVが読み込むBGR順を維持するため、swapRB=Falseを指定します。ここをRGBにすると1位のクラスそのものが入れ替わりました。別のモデルでは学習時のチャネル順に合わせてください。平均値はImageNet系の多くが(104, 117, 123)ですが、mean.binaryprotoが同梱されているモデルはその値を使ってください。なお、OpenCV dnnが標準対応していない独自層には、追加実装と登録が必要です。未対応のままでは、モデルの読み込み時や推論時にエラーになる場合があります。
.caffemodelのONNX変換とONNX Runtimeでの推論
OpenCVでの読み込みは推論専用です。推論モデルを別の実行系へ移す場合は、中間形式のONNXへの変換が選択肢になります。ファインチューニングには、移行先で学習可能なモデル構造と重みを用意する別の作業が必要です。変換ツールはPyPIのcaffe2onnx(最新2.0.1・2021年11月公開)です。更新が止まったツールなので、そのままでは2か所でつまずきます。
caffe2onnxのインストールと変換コマンド
caffe2onnxは依存がonnx==1.6.0(2019年9月公開)に固定されています。onnx 1.6.0のホイールはPython 2.7と3.5〜3.7向けしか無いため、Python 3.12で素直にpip install caffe2onnxを打つと、onnxをソースからビルドしようとしてCould not find "cmake" executable!で止まりました。依存を切り離し、現行のonnxと組み合わせます。
pip install --no-deps caffe2onnx==2.0.1
pip install onnx==1.23.2 protobuf==7.36.2 onnxruntime==1.31.0
# deploy.prototxt のバッチ数(dim: 10)を1に書き換える
sed 's/dim: 10/dim: 1/' deploy.prototxt > deploy_b1.prototxt
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
python -m caffe2onnx.convert \
--prototxt deploy_b1.prototxt \
--caffemodel bvlc_googlenet.caffemodel \
--onnx googlenet.onnx
環境変数を付けずに実行するとTypeError: Descriptors cannot be created directly.で止まります。caffe2onnxに同梱されたProtocol Buffersの生成コードが古く、protobuf 4系以降のC++実装では読めないためです。純Python実装に切り替えると読めますが、パースは遅くなり、GoogLeNet(53.5MB)の変換に43〜79秒、メモリを約950MB使いました。出力されたONNXは28.0MBです。Windowsではexportの代わりに、PowerShellなら$env:PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION="python"で指定します。
バッチ数を書き換えずに変換すると、ONNXの入力形状が[10, 3, 224, 224]で固定され、1枚ずつ推論するたびに10枚分の入力を用意する羽目になります。
GoogLeNet変換出力のopset 11への修正
2つ目のつまずきは、変換できたONNXをONNX Runtimeが読めないことです。caffe2onnxはopsetを指定せずにモデルを作るため、インストールされているonnxの最新opsetがそのまま書き込まれます。onnx 1.23.2で変換するとIRバージョン14・opset 28になり、ONNX Runtime 1.31.0はUnsupported model IR version: 14, max supported IR version: 13で読み込みを拒否しました。onnxを1.20.1(IR 13・opset 25)に下げても、今度はUnrecognized attribute: ratio for operator Dropoutで失敗します。ONNXの演算子仕様ではDropoutのratioはopset 12から属性ではなく入力に変わっており、caffe2onnxは古い属性の形で書き出すからです。
今回のGoogLeNetでは、Dropoutのratioが属性だったopset 11へモデルの宣言を戻し、onnxのチェッカーとONNX Runtimeでの推論が通ることを確認しました。これは任意のモデルに使える一般的なopset変換ではありません。あわせて、重みがグラフの入力として重複登録されている状態(ONNX Runtimeが警告を144件出しました)も外します。
import onnx
m = onnx.load("googlenet.onnx")
m.ir_version = 7
for o in m.opset_import:
if o.domain in ("", "ai.onnx"):
o.version = 11
# 重み(initializer)をグラフ入力から外す
names = {t.name for t in m.graph.initializer}
inputs = [i for i in m.graph.input if i.name not in names]
del m.graph.input[:]
m.graph.input.extend(inputs)
onnx.checker.check_model(m)
onnx.save(m, "googlenet_op11.onnx")
書き換え後のモデルはonnxのチェッカーを通り、ONNX Runtime 1.31.0で推論できました。OpenCVと同じcat.jpg・同じ前処理で比べると、上位5クラスと確率は小数第4位まで一致し、出力1,000要素の最大絶対誤差は7.0×10-7でした。推論時間は1枚22.1ミリ秒です。この手順はGoogLeNetの層構成(畳み込み・プーリング・LRN・全結合・Dropout)で確かめたもので、別の層を含むモデルでは追加の修正が要る場合があります。
変換は万能ではありません。caffe2onnx 2系にはPriorBoxやNormalizeの変換処理もあります。ただし、変換ファイルを生成できても、出力された演算子をONNX Runtimeが実行できるとは限りません。変換作業を続けるかは、再学習に必要なデータ整備・評価・配備までの総工数と比べて決めてください。2014〜2017年のCNNを移す場合、データセットが手元にあるなら現行モデルの転移学習も候補にし、同じ評価データで既存モデルと精度を比べるのが確実です。ONNXファイルの中身とONNX Runtimeの使い方はONNXとは?読み方・.onnxファイルの中身・変換とONNX Runtimeでの推論【onnx 1.23/ORT 1.31対応】で詳しく説明しています。
CaffeモデルのTensorFlow形式(SavedModel・TFLite)への変換
旧来のcaffe-tensorflowが今は使えない理由
「Caffe TensorFlow」で検索すると、ethereon/caffe-tensorflowを使った変換記事が今も上位に出ます。このツールは.caffemodelからTensorFlow 1系のPythonコードとNumPyの重みを生成するもので、最後の更新は2019年7月です。2017年の変換記事でもPython 3.6ではNameError: name 'basestring' is not definedで動かず、Python 2.7で実行しています。TensorFlow 1系のAPIとPython 2が前提なので、TensorFlow 2.21やPython 3.12の環境には持ち込めません。
現在の経路は、前章でopset 11に直したONNXをonnx2tfでTensorFlowへ変換する方法です。onnx2tfは2026年9月にも更新されている現役のツールで、TFLite(LiteRT)とSavedModelを出力できます。ONNX公式系のonnx-tf(onnx-tensorflow)もありますが、PyPIの最新は2022年3月の1.10.0で止まっています。
onnx2tfによるSavedModel・TFLiteの出力
onnx2tf 2.6.9はPython 3.12以上が必要で、TensorFlowの出力機能はextra指定で入ります。onnx 1.20.1・TensorFlow 2.21.0など依存の版が細かく固定されているので、caffe2onnxとは別の仮想環境に入れてください。
python3.12 -m venv tfenv && . tfenv/bin/activate
pip install "onnx2tf[tensorflow]==2.6.9"
# -fdosm で TFLite に加えて SavedModel も出力する
onnx2tf -i googlenet_op11.onnx -o tf_googlenet -fdosm
変換は15秒ほどで終わり、googlenet_op11_float32.tflite(28.0MB)、googlenet_op11_float16.tflite(14.0MB)、SavedModel一式が出力されました。onnx2tfは依存にopencv-pythonを含むため、python:3.12-slimのような軽量イメージではlibxcb.so.1が見つからずimport cv2で落ちます。apt-get install libxcb1 libgl1 libglib2.0-0で入れておきます。
変換後の入力形式と、元モデルとの出力の突き合わせ
変換で変わるのは入力の並びです。Caffe・ONNXはチャネルが先頭のNCHW(1, 3, 224, 224)ですが、onnx2tfはTensorFlowの流儀に合わせてNHWC(1, 224, 224, 3)に変換します。前処理済みの配列をnp.transpose(x, (0, 2, 3, 1))で並べ替えてから渡してください。
import cv2
import numpy as np
import tensorflow as tf
img = cv2.imread("cat.jpg")
if img is None:
raise FileNotFoundError("cat.jpg")
blob = cv2.dnn.blobFromImage(
img, scalefactor=1.0, size=(224, 224),
mean=(104.0, 117.0, 123.0), swapRB=False
)
m = tf.saved_model.load("tf_googlenet")
f = m.signatures["serving_default"]
x = np.transpose(blob, (0, 2, 3, 1)).astype(np.float32) # NCHW -> NHWC
prob = list(f(data_input=tf.constant(x)).values())[0].numpy()
cat.jpgは実行時のカレントディレクトリに置きます。掲載コードを使う場合は、画像とモデルを配置したディレクトリへ移動してからスクリプトを実行してください。onnx2tfの依存でOpenCVも入るため、前処理はOpenCVの章と同じ関数で作れます。同じ画像と前処理で、4つの実行経路の出力を比べた結果が次の表です。
| 実行経路 | 1位(確率) | 最大絶対誤差 | 1枚あたり |
|---|---|---|---|
| OpenCV 4.14 dnn(基準) | tiger cat (0.5004) | – | 20.0ms |
| ONNX Runtime 1.31.0 | tiger cat (0.5004) | 7.0×10-7 | 22.1ms |
| TensorFlow 2.21.0 SavedModel | tiger cat (0.5004) | 3.7×10-7 | 32.6ms |
| LiteRT(float32 TFLite) | tiger cat (0.5004) | 6.0×10-7 | 未計測 |
計測条件はOpenCVの章と同じです。いずれも上位5クラス(tiger cat・tabby cat・Egyptian cat・lynx・Persian cat)の順位が一致し、確率も小数第4位まで一致しました(2026年10月22日、Docker上のPython 3.12・CPU 4コアで実測)。誤差は浮動小数点の丸めの範囲です。移行したモデルを本番に入れる前には、このように元の実行系と同じ入力で出力を突き合わせ、上位クラスの一致と最大誤差を記録しておくと、前処理の取り違えをその場で検出できます。
それでもCaffe本体をビルドする場合の現実的な手順
論文の再現や、prototxtにしか存在しない独自層を検証する目的で、Caffe本体が要る場面はあります。その場合はホストに直接入れず、当時のライブラリ構成をDockerコンテナに閉じ込めてください。公式のインストールガイド(masterブランチ)が前提にしているのはCUDAの「library version 7+」とcuDNN v7で、現行のCUDA 12系・cuDNN 9系ではAPIが変わっておりそのままではコンパイルが通りません。Ubuntu 16.04系のイメージにCUDA 8とcuDNN 7を入れる、といった当時の組み合わせを選ぶのが条件です。CPU推論で足りるなら、Makefile.configでCPU_ONLY := 1を有効にするとCUDA関連の依存が丸ごと外れます。
Pythonバインディング(pycaffe)について、同じガイドが挙げる要件はPython 2.7またはPython 3.3+、numpy (>= 1.7)、boost.pythonです。この「3.3+」は当時の表記で、Python 3.12・3.13でのビルド可否は、Boost.PythonやProtocol Buffersの版、Caffeへの修正内容を含めて確認する必要があります。修正なしで通すなら、コンテナ内のPythonと依存ライブラリを当時の版にそろえるのが近道です。
古いCaffeモデルを現行の画像認識モデルへ置き換える、検査工程の判定モデルを作り直すといった案件は、画像認識AIモデル構築の支援としてご相談いただけます。
よくある質問
Caffeは今でも使えますか?
学習済みモデルの推論であれば、OpenCV 4系のdnnモジュールで動きます(OpenCV 5.0では読み込み機能が削除済み)。Caffe本体をソースからビルドして新しく学習する用途は推奨しません。最終リリースが2017年4月の1.0で止まっており、現在の依存ライブラリを使う場合、互換性の検証やソース修正が必要になるためです。
CaffeとTensorFlowはどちらを選ぶべきですか?
これから学習するなら、Caffeではなく現行のフレームワークを選んでください。第一候補はPyTorchで、モバイル・組込み・ブラウザへの配布が要件にあるならTensorFlowです。既存のCaffeモデルをTensorFlowで使いたい場合は、caffe2onnxでONNXにしてからonnx2tfでSavedModel・TFLiteに変換します。
caffemodelファイルは何で開けますか?
.caffemodelは学習済みの重みや層の情報を収めたProtocol Buffersのバイナリで、内容を読むには対応する解析ツールが必要です。推論するならOpenCV 4系のcv2.dnn.readNetFromCaffe()にdeploy.prototxtと一緒に渡します。層の構成を眺めたいだけなら、Caffe形式に対応するNetronで直接開けます。可視化のためだけにONNXへ変換する必要はありません。
CaffeはPythonから使えますか?
pycaffeというPythonバインディングが同梱されており、公式の要件はPython 2.7または3.3+です。Python 3.12・3.13でのビルドには、依存ライブラリとの互換性確認が必要です。Pythonから既存のCaffeモデルを扱いたいだけなら、pycaffeではなくOpenCVのcv2.dnn.readNetFromCaffe()を使うのが確実です。
深層学習フレームワークにはどんな種類がありますか?
現在も更新が続く主要な選択肢は、PyTorch(2.14.1・2026年9月)、TensorFlow(2.21.0・2026年3月)、そして両者やJAXをバックエンドに選べる高水準APIのKeras(3.15.1・2026年7月)です。CaffeやChainer、Theanoは開発が止まっており、新規採用の候補には入りません。
「caffe」と「cafe」は何が違うのですか?
ソフトウェアのCaffeは「Convolutional Architecture for Fast Feature Embedding」の略称で、コーヒーを意味するイタリア語「caffè」にかけた名前です。飲食店の「café(カフェ)」はフランス語の表記で、fが1つです。イタリア語では「caffè」とfを2つ重ね、末尾にアクセント記号が付きます。どちらも元はコーヒーそのものを指す語です。
関連記事
- PyTorchとは?読み方・できること・TensorFlowとの違いと入れ方【2.14対応】
- TensorFlowをPythonで使う方法:対応版・インストール・GPU設定と動くコード【2026年10月】
- ONNXとは?読み方・.onnxファイルの中身・変換とONNX Runtimeでの推論【onnx 1.23/ORT 1.31対応】
- PyTorch Lightningのインストール方法とpip install lightning/pytorch-lightningの違い
- EfficientNetV2をPyTorchで使う実装ガイド|torchvision・timmの転移学習とS・M・Lの選び方