記事ディレクトリ
1.condaのインストール
1.1 condaのインストール
Miniconda 公式 Web サイト からconda 23.5.2 をダウンロードしてインストールしました。Python バージョンは 3.11.4 です。インストール中に PATH の追加を確認してください。
エンド ユーザー変数の構成は次のとおりです。
1.2 共通コマンド
一般的な conda コマンドは次のとおりです。
conda パッケージ管理コマンド | 説明する |
---|---|
conda create --name myenv python=3.8 |
myenv という名前の仮想環境を作成し、Python バージョンを 3.8 に指定します。 |
conda activate myenv source activate myenv |
仮想環境のアクティブ化 (Windows) 仮想環境のアクティブ化 (macOS および Linux) |
conda install package_name |
アクティブ化された仮想環境に Python パッケージをインストールする |
conda list |
現在の仮想環境にインストールされているパッケージを一覧表示します |
conda deactivate |
現在の仮想環境を非アクティブ化する |
conda env export > environment.yml |
現在の仮想環境構成を YAML ファイルにエクスポートします。 |
conda env create -f environment.yml |
YAML ファイルから仮想環境を作成する |
conda remove --name myenv --all |
指定した名前の仮想環境とそのすべてのパッケージを削除します |
conda search package_name |
インストール可能なパッケージを検索する |
conda update --all |
現在の仮想環境内のすべてのパッケージをアップグレードします |
conda仮想環境管理コマンド | 説明する |
---|---|
conda update conda |
conda自体をアップグレードする |
conda config --show |
conda 構成情報を表示する |
conda env list またはconda info --envs |
作成されたすべての仮想環境をリストする |
conda info --all |
すべての conda 情報を表示する |
conda info --env |
現在の仮想環境の詳細を表示します |
conda config --set auto_activate_base false |
基本環境のデフォルトのアクティブ化を無効にします (基本環境はデフォルトで自動的にアクティブ化されます)。 |
conda config --set auto_activate your_env_name |
your_env_name をデフォルトのアクティベーション環境として設定します |
デフォルトでは、conda はベース環境を現在の環境として自動的にアクティブ化します。環境をデフォルトのアクティベーション環境に変更する場合は、次の手順を実行する必要があります。
conda config --set auto_activate_base false # 禁用默认激活基础环境
conda config --set auto_activate your_env_name # 设置your_env_name为默认的激活环境
デフォルトのアクティベーションベース環境を復元したい場合は、以下を実行する必要があります。
conda config --set auto_activate_base true # 恢复默认激活base环境
conda config --set
初めてコマンドを 使用すると、ユーザーフォルダーに設定用のcondaファイルが作成され、setコマンドで追加した設定情報がそのファイル.condarc
に書き込まれます。.condarc
conda info コマンドを使用して、この構成ファイルのアドレスを表示します。
conda のデフォルトのインストール ソースは Anaconda リポジトリです。
conda config --show-sources # 显示当前配置的源
conda config --backup # 备份原始配置文件
次に、次のコマンドを使用して国内ミラー ソースを設定し、ダウンロード速度が速くなるようにします。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ # 清华源
conda config --add channels https://mirrors.aliyun.com/pypi/simple/ # 阿里源
または、.condarc
ファイルに直接書き込みます。
# 配置文件中,注释以#符号开头,且不能写行内注释,只能单独放一行
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
-c
上記の設定ファイルは、デフォルトでインストールに清華ソースを使用しますが、別のインストール ソースを使用したい場合は、オプションを 使用して他のチャネルを明示的に指定できます。
# conda-forge是配置文件中的channel名称,package_name是安装包的名称
conda install -c conda-forge package_name
各チャネルには独自の特定の目的とパッケージのセットがあり、ニーズに基づいて 1 つ以上のチャネルを使用して関連パッケージをインストールすることを選択できます。
conda-forge
: 科学技術コンピューティング、データ分析、機械学習、コンピューター ビジョンなど、さまざまな分野をカバーするコミュニティ主導の Conda チャネル。一般的に使用されるソフトウェア パッケージが多数含まれており、頻繁に更新されます。msys2
:`このチャネルは、Unix/Linux ツールを必要とするパッケージを Windows 上でビルドして実行する必要がある場合に役立ちます。bioconda
:bioconda
は、バイオインフォマティクスと生物学的データ分析に特化した Conda チャネルです。menpo
:menpo
チャネルは、コンピューター ビジョンおよび機械学習ライブラリである Menpo プロジェクトに関連付けられることがよくあります。このチャンネルには、Menpo プロジェクトに関連するソフトウェア パッケージとツールが含まれています。pytorch
:pytorch
チャネルには、PyTorch 深層学習フレームワークに関連するパッケージとツールが含まれています。simpleitk
:simpleitk
チャネルには、SimpleITK (Simplified Medical Image Processing Toolkit) に関連するソフトウェア パッケージとツールが含まれています。
1.3 よくある質問
- Anaconda powershell プロンプのエラー メッセージ
Anaconda powershell プロンプを開くと、次のエラー メッセージが表示されます。
无法将“E:\miniconda\Scripts\conda.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包
括路径,请确保路径正确,然后再试一次。
所在位置 C:\Users\LS\Documents\WindowsPowerShell\profile.ps1:4 字符: 4
+ (& "E:\miniconda\Scripts\conda.exe" "shell.powershell" "hook") | Out- ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (E:\miniconda\Scripts\conda.exe:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
これは、以前にインストールした conda がprofile.ps1
関連する構成情報を PowerShell 構成ファイルに残したためです(& "E:\miniconda\Scripts\conda.exe" "shell.powershell" "hook") | Out- ...
。これを次のように変更するだけで済みます。
(& "D:\Miniconda\Scripts\conda.exe" "shell.powershell" "hook") | Out-String | Invoke-Expression
以前はドライブ E にインストールされていました。アンインストール後、PowerShell の構成情報はクリーンアップされませんでした。ここでは、ドライブ D のインストール ディレクトリに変更するだけです。
上記 2 つのショートカット起動メソッドは、conda をインストールするとスタート メニュー バーに自動生成されますが、システムを再インストールすると無効になります。この時点で再インストールすると別のグループが生成されるので、以前無効だったものを削除してください。- アンインストールの問題conda をインストールして起動すると、ユーザーフォルダー内にフォルダーとファイル
が生成されますが、conda をアンインストールする場合は、これらのファイルをクリーンアップする必要があります。.conda
.condarc
二、ジュピターラボ
2.1 jupyterlabのインストールとアンインストール
conda install
コマンドを 使用してインストールします。jupyterlab の最新バージョンは 3.6.3 のみです。pip install
したがって、 jupyterlab 4.0.6 を直接インストールします。次に、次のコマンドを使用して、JupyterLab の中国語パッケージをインストールします。
pip install jupyterlab-language-pack-zh-CN
また、以下
E:\nlp\ChatGLM2-6B-main
にもインストールされます。E:\nlp\alpaca-lora-main
requirements.txt
sentence-transformers, faiss-cpu,blingfire
jupyterlab を完全にアンインストールする場合は、次のコマンドを実行します。
pip uninstall jupyterlab # pip安装的执行此命令
conda uninstall jupyterlab # conda安装的执行此命令
# JupyterLab 会在用户的 home 目录下创建一个配置文件夹,需要删除
rm -r ~/.jupyter
JupyterLab 拡張機能とカーネルも削除する必要があります
# 列出已安装的扩展和内核
jupyter labextension list
jupyter kernelspec list
# 卸载扩展和内核
jupyter labextension uninstall 扩展名称
jupyter kernelspec uninstall 内核名称
2.2 よくある間違い
2.2.1 バージョンが競合し、jupyterlab が起動できない
jupyterlab が正常にインストールされたら、cmd で次のコマンドを使用してバージョン情報を表示できます。
jupyter-lab --version
4.0.6
次に、 を使用してjupyter-lab
jupyterlab を起動するか、アドレス バーに次のように入力してjupyter lab
、指定したディレクトリで jupyterlab を起動します。
しかし、ある時、どちらのメソッドも起動できなくなり、jupyter-lab
コマンドを入力すると、一部のパッケージをインポートできないというエラーが発生しました。conda には jupyterlab 3.6.3 を、pip には jupyterlab 4.0.6 をインストールしたため、バージョンの競合が発生したと考えられます。jupyterlabをインストールする際に依存パッケージも同時にインストールされるため、以前のインストールバージョンをアンインストールしたのに依存パッケージがアンインストールされず、jupyterlabの新バージョン起動時に競合が発生してしまいました。
2.2.2 プラグインのバージョンの競合
Jupyterlab 4 はデバッガーを直接統合しています。最初は知りませんでした。プラグイン マネージャーで見つかりませんでした。pip で直接インストールしました。
jupyter labextension install @jupyterlab/debugger
その結果、jupyterlabを起動するたびにエラーが報告されます(起動はできますが、エラーが表示されるのは非常に迷惑です)
2.3 よく使用されるプラグイン
2.3.1 デバッガ
Jupyterlab バージョン 2 または 3 では、jupyterlab/debugger をプラグイン マネージャーに直接インストールできます。
Jupyterlab 4 はデバッガーを直接統合しています。ノートブックの右上隅にあるデバッグ ボタン (青いボックス) をクリックできます。赤く表示されている場合は、デバッグ モードに入ったことを意味します。次に、pycharm と同じように、デバッグが必要な場所にブレークポイントを設定します。view-debugger または右側のサイドバーのデバッグ ボタン (赤いボックス) をクリックして、デバッグ情報が表示される場所を開きます。
上記は、多肢選択式の質問と回答にトランスフォーマー ライブラリを使用するときに DataCollatorForMultipleChoice クラスをカスタマイズするコードです。次のコードを実行すると、自動的にブレークポイントの場所にジャンプし、変数情報が表示されます。
trainer = Trainer(
model=model,
args=training_args,
train_dataset=tokenized_train_ds,
eval_dataset=tokenized_train_ds,
tokenizer=tokenizer,
data_collator=DataCollatorForMultipleChoice(tokenizer=tokenizer),
)
trainer.train()
- 変数エリアにはリストとツリーの 2 つの表示モードがあり、変数の値は完全には表示されず、直接コピーして表示することができます。変数ウィンドウはデフォルトで 4 行表示されますが、十分ではない場合は変数ウィンドウをプルダウンできます。
- 中央にはデバッグ操作ボタンがあり、これをクリックするか、対応するショートカット キーを使用できます。
- ソース ファイル領域の下と左側は、どちらもコードが停止する場所がデバッグであることを示しています。
たとえば、デバッグでは変数の形式が表示されます。
label_name = "label" if 'label' in features[0].keys() else 'labels'
# 原始features(4个样本)
[{
'input_ids': [...], 'token_type_ids': [...], 'attention_mask': [...], 'label': 0},
{
'input_ids': [...], 'token_type_ids': [...], 'attention_mask': [...], 'label': 0},
{
'input_ids': [...], 'token_type_ids': [...], 'attention_mask': [...], 'label': 1},
{
'input_ids': [...], 'token_type_ids': [...], 'attention_mask': [...], 'label': 0}]
# 对每个样本(feature,字典格式)使用pop删除key为label的键值对,返回被删除的值
# 所以feature被删除了label键值对,而labels的值是四个样本label列表[0, 0, 1, 0]
labels = [feature.pop(label_name) for feature in features]
# 去除label的后的feature(一个样本)
{
'input_ids': [[...], [...], [...], [...], [...]],
'token_type_ids': [[...], [...], [...], [...], [...]],
'attention_mask': [[...], [...], [...], [...], [...]]}
2.3.2 jupyterlab_code_formatter
jupyterlab_code_formatter は主にコードのフォーマットに使用され、複数の言語をサポートします。
2.4 ジュピターのスキル
- 複数行の選択
- 仮想環境の追加
次のコマンドを使用して、仮想環境をカーネルとして Jupyter Lab に追加し、ランチャーまたはカーネル リストの右上隅にオプションとして表示されます。
$ pip install ipykernel
$ ipython kernel install --user --name=new_or_existing_env_name
注: 上記のコードは、jupyter lab の環境ではなく、追加する必要がある仮想環境で使用する必要があります。
jupyter run
コマンドを使用したノートブックの実行 コマンド を使用すると、
Python スクリプトのようにノートブックの各セルを順番に実行できますjupyter run
。このコマンドは各セルの出力を JSON 形式で返すため、テキストが多い場合は出力が遅くなる可能性があります。さまざまなハイパーパラメータを 1 つのノートブックに保存して実行し、実行記録を保存できます。
jupyter run path_to_notebook.ipynb
-
エディタ ウィンドウの分割
Jupyter Lab のウィンドウはタブ形式で表示されており、複数の編集ウィンドウを同時に開き、ドラッグしてエディタ ウィンドウを分割することができます。 -
いつでもドキュメントを表示
ほぼすべての関数またはマジック コマンドのドキュメントをエディタから直接検索するには 3 つの方法があります。- Shift+Tab キーボード ショートカット (デフォルト) を使用すると、カーソルが置かれている関数またはクラスのドキュメントを含むポップアップが表示されます。
- コンテキスト ヘルプ: 他の場所をクリックした後にポップアップ ウィンドウが消えるのが気に入らない場合は、ヘルプ メニューを使用するか、
Ctrl + I
コンテキスト ヘルプを使用することもできます。コンテキスト ヘルプには、カーソルが指す関数またはクラスのライブ ドキュメントが表示されます。
- 関数またはクラス名の末尾に疑問符 (括弧なし) を追加するだけです。
- Shift+Tab キーボード ショートカット (デフォルト) を使用すると、カーソルが置かれている関数またはクラスのドキュメントを含むポップアップが表示されます。
-
感嘆符 (!) を使用してターミナル コマンドを実行します
# 查看目录
!pwd
より実践的な例を次に示します。モデルのトレーニングに使用される画像を含むデータ フォルダーがあるとします。すべての画像は、クラスに基づいてカタログに分類されます。次に、data/raw/train 内のディレクトリの数をカウントし、その出力をnumber_of_classes に保存する簡単な方法が必要です。
number_of_classes = !ls -1 data/raw/train | wc -l
>>> print(number_of_classes)
43
単一のシェル コマンドで問題を解決できるため、Python ディレクトリ トラバーサル コードを記述する必要はありません。
-
winsound
Notice Execution は
winsound
、Windows オペレーティング システム上でサウンドを制御したり、簡単な効果音を再生したりできるようにする Python 標準ライブラリのモジュールです。主に音声リマインダー、警告を作成したり、単純なサウンド ファイルを再生したりするために使用され、通常はコマンド ライン スクリプト、ガジェット、または基本的なサウンド コントロールのニーズに使用されます。
winsound
このモジュールは、次のようないくつかの主要な関数とメソッドを提供します。-
Beep(frequency, duration)
:ビープ音を鳴らすときに使用します。frequency
ビープ音の周波数はヘルツ単位で指定され、duration
ビープ音の長さはミリ秒単位で指定されます。 -
PlaySound(sound, flags)
: この機能を使用すると、.wav 形式のサウンド ファイルを再生できます (mp3 などの複雑なオーディオ形式はサポートされていません)。sound
パラメータは音声ファイルのファイル名またはパスで、flags
ループ再生するか非同期再生するかなど、再生方法や動作を指定します。 -
MessageBeep(type)
: この関数はシステム定義の警告音を発するために使用でき、type
パラメータで警告音の種類を指定します。
-
winsound
以下は、モジュールを使用してビープ音を鳴らす方法を示す簡単な例です。
import winsound
# 训练模型
......
trainer.train()
# 训练完成后进行通知
duration = 5000
frequency = 440
winsound.Beep(frequency, duration)
- スクリプトの自動リロードとハイライト表示
インポートされたスクリプトを更新した場合、カーネルが再起動されない限り、Jupyter は変更を自動的に検出しないため、多くの問題が発生する可能性があります。したがって、autoreload コマンドを使用してこの問題を回避できます。
%load_ext autoreload
%autoreload 1
上記のコードは、カーネルを毎秒検出して更新します。スクリプトの変更だけでなく、すべてのファイルの変更も検出します。
さらに、Python スクリプトの場合は、pycat
コマンドを使用して Python スクリプトの内容を構文強調表示の形式で表示することもできます。他のファイル形式の場合は、cat コマンドを使用できます。