conda をインストールして jupyterlab を使用する際の注意点

ここに画像の説明を挿入します

1.condaのインストール

Miniconda公式ウェブサイトMiniconda公式ドキュメント

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に書き込まれます。.condarcconda 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 つ以上のチャネルを使用して関連パッケージをインストールすることを選択できます。

  1. conda-forge: 科学技術コンピューティング、データ分析、機械学習、コンピューター ビジョンなど、さまざまな分野をカバーするコミュニティ主導の Conda チャネル。一般的に使用されるソフトウェア パッケージが多数含まれており、頻繁に更新されます。
  2. msys2:`このチャネルは、Unix/Linux ツールを必要とするパッケージを Windows 上でビルドして実行する必要がある場合に役立ちます。
  3. bioconda:biocondaは、バイオインフォマティクスと生物学的データ分析に特化した Conda チャネルです。
  4. menpo:menpoチャネルは、コンピューター ビジョンおよび機械学習ライブラリである Menpo プロジェクトに関連付けられることがよくあります。このチャンネルには、Menpo プロジェクトに関連するソフトウェア パッケージとツールが含まれています。
  5. pytorch:pytorchチャネルには、PyTorch 深層学習フレームワークに関連するパッケージとツールが含まれています。
  6. simpleitk:simpleitkチャネルには、SimpleITK (Simplified Medical Image Processing Toolkit) に関連するソフトウェア パッケージとツールが含まれています。

1.3 よくある質問

  1. 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 のインストール ディレクトリに変更するだけです。


  1. ここに画像の説明を挿入します
    上記 2 つのショートカット起動メソッドは、conda をインストールするとスタート メニュー バーに自動生成されますが、システムを再インストールすると無効になりますこの時点で再インストールすると別のグループが生成されるので、以前無効だったものを削除してください。
  2. アンインストールの問題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-mainrequirements.txtsentence-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-labjupyterlab を起動するか、アドレス バーに次のように入力してjupyter lab、指定したディレクトリで jupyterlab を起動します。

ここに画像の説明を挿入します

Eディスクから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 または右側のサイドバーのデバッグ ボタン (赤いボックス) をクリックして、デバッグ情報が表示される場所を開きます。
ここに画像の説明を挿入します
  上記は、多肢選択式の質問と回答にトランスフォーマー ライブラリを使用するときに DataCollat​​orForMultipleChoice クラスをカスタマイズするコードです。次のコードを実行すると、自動的にブレークポイントの場所にジャンプし、変数情報が表示されます。

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 は主にコードのフォーマットに使用され、複数の言語をサポートします。

GIF

2.4 ジュピターのスキル

「JupyterLabの超強力な裏ワザ10選」を参照

  1. 複数行の選択
    ここに画像の説明を挿入します
  2. 仮想環境の追加
    次のコマンドを使用して、仮想環境をカーネルとして Jupyter Lab に追加し、ランチャーまたはカーネル リストの右上隅にオプションとして表示されます。
 $ pip install ipykernel  
 $ ipython kernel install --user --name=new_or_existing_env_name

注: 上記のコードは、jupyter lab の環境ではなく、追加する必要がある仮想環境で使用する必要があります。

  1. jupyter runコマンドを使用したノートブックの実行 コマンド を使用すると
    Python スクリプトのようにノートブックの各セルを順番に実行できますjupyter runこのコマンドは各セルの出力を JSON 形式で返すため、テキストが多い場合は出力が遅くなる可能性があります。さまざまなハイパーパラメータを 1 つのノートブックに保存して実行し、実行記録を保存できます。
 jupyter run path_to_notebook.ipynb
  1. エディタ ウィンドウの分割
    Jupyter Lab のウィンドウはタブ形式で表示されており、複数の編集ウィンドウを同時に開き、ドラッグしてエディタ ウィンドウを分割することができます。

  2. いつでもドキュメントを表示
    ほぼすべての関数またはマジック コマンドのドキュメントをエディタから直接検索するには 3 つの方法があります。

    1. Shift+Tab キーボード ショートカット (デフォルト) を使用すると、カーソルが置かれている関数またはクラスのドキュメントを含むポップアップが表示されます。
      ここに画像の説明を挿入します
    2. コンテキスト ヘルプ: 他の場所をクリックした後にポップアップ ウィンドウが消えるのが気に入らない場合は、ヘルプ メニューを使用するか、Ctrl + Iコンテキスト ヘルプを使用することもできます。コンテキスト ヘルプには、カーソルが指す関数またはクラスのライブ ドキュメントが表示されます。
    1. 関数またはクラス名の末尾に疑問符 (括弧なし) を追加するだけです。ここに画像の説明を挿入します
  3. 感嘆符 (!) を使用してターミナル コマンドを実行します

# 查看目录
!pwd

  より実践的な例を次に示します。モデルのトレーニングに使用される画像を含むデータ フォルダーがあるとします。すべての画像は、クラスに基づいてカタログに分類されます。次に、data/raw/train 内のディレクトリの数をカウントし、その出力をnumber_of_classes に保存する簡単な方法が必要です。

 number_of_classes = !ls -1 data/raw/train | wc -l  
   
 >>> print(number_of_classes)  
 43

単一のシェル コマンドで問題を解決できるため、Python ディレクトリ トラバーサル コードを記述する必要はありません。

  1. winsoundNotice Execution は
    winsound、Windows オペレーティング システム上でサウンドを制御したり、簡単な効果音を再生したりできるようにする Python 標準ライブラリのモジュールです。主に音声リマインダー、警告を作成したり、単純なサウンド ファイルを再生したりするために使用され、通常はコマンド ライン スクリプト、ガジェット、または基本的なサウンド コントロールのニーズに使用されます。
    winsoundこのモジュールは、次のようないくつかの主要な関数とメソッドを提供します。

    1. Beep(frequency, duration):ビープ音を鳴らすときに使用します。frequencyビープ音の周波数はヘルツ単位で指定され、durationビープ音の長さはミリ秒単位で指定されます。

    2. PlaySound(sound, flags): この機能を使用すると、.wav 形式のサウンド ファイルを再生できます (mp3 などの複雑なオーディオ形式はサポートされていません)。soundパラメータは音声ファイルのファイル名またはパスで、flagsループ再生するか非同期再生するかなど、再生方法や動作を指定します。

    3. MessageBeep(type): この関数はシステム定義の警告音を発するために使用でき、typeパラメータで警告音の種類を指定します。

winsound以下は、モジュールを使用してビープ音を鳴らす方法を示す簡単な例です。

 import winsound  
 # 训练模型
 ......
 trainer.train()
 # 训练完成后进行通知
 duration = 5000  
 frequency = 440     
 winsound.Beep(frequency, duration)
  1. スクリプトの自動リロードとハイライト表示

  インポートされたスクリプトを更新した場合、カーネルが再起動されない限り、Jupyter は変更を自動的に検出しないため、多くの問題が発生する可能性があります。したがって、autoreload コマンドを使用してこの問題を回避できます。

 %load_ext autoreload  
 %autoreload 1

上記のコードは、カーネルを毎秒検出して更新します。スクリプトの変更だけでなく、すべてのファイルの変更も検出します。

  さらに、Python スクリプトの場合は、pycatコマンドを使用して Python スクリプトの内容を構文強調表示の形式で表示することもできます。他のファイル形式の場合は、cat コマンドを使用できます。
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_56591814/article/details/133522959