[ ホームページ ] [ 携帯用URL ]
将棋所のサポート掲示板
将棋所についての質問やバグ報告、USIエンジンの作成報告などに使用して下さい。

[ EZBBS.NET | 新規作成 | ランキング | オプション ]
iモード&(絵文字)、au対応!ケータイからも返信できる無料掲示板!
名前
 E-mail 
題名
内容
   タグ有効 改行有効 等幅フォント
URL
 



1842.エンジン選択で指定できる拡張子  
名前:Mizar    日付:2022/4/5(火) 17:40
将棋所 5.0.0では、「エンジン選択」ダイアログで選択できるのが "(*.exe)(*.jar)(*.bat)" のファイル名のみとなっているようです。このため、拡張子が "(*.cmd)" のファイルは選択が不可能になっています。

"(*.exe)(*.jar)(*.bat)" のデフォルト値に "(*.cmd)" を追加出来るように、また、全てのファイル "(*.*)" も今後の実行環境の多様化に備え、オプションとして選択可能にするよう要望します。



1843.Re: エンジン選択で指定できる拡張子
名前:将棋所の作者    日付:2022/4/6(水) 23:31
変更自体は簡単なので、次のバージョンで変更しようと思います。
実際のところ、cmd拡張子というのはほとんど見たことがなくて、大半の人はbatを使うと思うので、必要性がよくわからないところはありますが。

> 今後の実行環境の多様化に備え

単純に質問ですが、これは具体的にどのような拡張子を想定しているのでしょうか。


1844.Re: エンジン選択で指定できる拡張子
名前:Mizar    日付:2022/4/7(木) 0:33
> 単純に質問ですが、これは具体的にどのような拡張子を想定しているのでしょうか。

.js, .wat, .wasm, .rb, .py など、アプリケーションとの関連付けによって実行可能となるスクリプト言語や仮想マシン向けバイナリなどを想定しています。


1845.Re: エンジン選択で指定できる拡張子
名前:将棋所の作者    日付:2022/4/8(金) 0:3
ダイアログでそのようなファイルを選べるようにしても、そのままではエンジンが起動しません。ファイルさえ指定できれば起動するという話ではないのです。拡張子に応じた起動方法があり、実際、exeファイルとjarファイルでは起動方法が異なります。ですから、全てのファイル"(*.*)"で選べるようにしても意味がありません。新しい拡張子を追加するのであれば、その一つ一つについて、それを起動させるための方法を調べて実装する必要があります。ですが、使用される可能性がある拡張子の全てについて起動方法を調べるとか、実際問題できる話ではありません。
上記のようなスクリプト言語の場合、例えばPythonでエンジンを作るとして、そのファイル名をengine.pyだとすると、バッチファイルを作成して、その中に

python engine.py

と記述してengine.pyと同じディレクトリに置き、そのバッチファイルを登録すれば起動します。それ以外の言語についても(確認はしていませんが)同様にできるはずです。その方法を使うようにして下さい。

拡張子がcmdであればexeやbatと全く同じように起動できるので、その変更だけなら簡単だし追加しようと思っていましたが、あまり必要ない気がしてきました。実際、batではなくcmdでなければいけない状況というのはどのような場合でしょうか。


1846.Re: エンジン選択で指定できる拡張子
名前:Mizar    日付:2022/4/8(金) 7:53
*.jarについては別途処理を分けている件、アプリケーションとの関連付けをしたスクリプトの直接起動が難しい件は了解しました。

*.batと*.cmdではcmd.exeでの実行に大きな違いはありません(変数の遅延展開・エラーレベルの挙動など細部で異なる部分はあるようです)ので、配布ファイルに含む起動ファイルの拡張子をbatからcmdへの移行を、他のバッチファイルからコマンドスクリプトへの移行に併せて考えています。


1847.Re: エンジン選択で指定できる拡張子
名前:Mizar    日付:2022/4/8(金) 10:58
また、Node.jsのnpm等、一部ツールチェインでは導入時に.batではなく.cmdの拡張子で起動ファイルが生成されるものがあります。その手順に屋上屋を架す形で.bat経由で起動する方法を案内するのも面倒ですので、態々.bat経由で起動する手順は案内しない方向も考えられます。

手順例:

1. Node.js をインストール
https://nodejs.org/ja/

2. コマンドプロンプトからやねうら王/水匠5 WASM版のnpmパッケージをインストール
npm -g i @mizarjp/yaneuraou.halfkp@latest

3. コマンドプロンプトで実行ファイル(usi.halfkp.cmd)の保存先を確認
powershell -c "(gcm usi.halfkp.cmd).path"

4. 3.で確認した実行ファイルをGUIに登録


1849.Re: エンジン選択で指定できる拡張子
名前:Mizar    日付:2022/4/8(金) 20:43
他のエンジンも同時にインストールする場合、以下ような手順の案内を考えています。

1. Node.js をインストール
https://nodejs.org/ja/

2. Windows+R キー操作 「ファイル名を指定して実行」 欄に以下を入力して実行
npm -g i @mizarjp/yaneuraou.halfkp@latest @mizarjp/yaneuraou.k-p@latest @mizarjp/yaneuraou.material@latest @mizarjp/yaneuraou.material9@latest @mizarjp/yaneuraou.komoringheights-mate@latest

3. 実行ファイルをGUIに登録

水匠5(halfkp:標準NNUE)の場合

- 将棋所: メニューバーより「対局(G)」→「エンジン管理...」→「追加...」→ファイル名入力欄に "%APPDATA%\npm\usi.halfkp.cmd" と入力して「開く(O)」
- ShogiGUI: メニューバーより「ツール(T)」→「エンジン設定(E)」→「追加」→ファイル名入力欄に "%APPDATA%\npm\usi.halfkp.cmd" と入力して「開く(O)」

以下、同様に

- "%APPDATA%\npm\usi.halfkp.cmd" : 水匠5(halfkp:標準NNUE)
- "%APPDATA%\npm\usi.k-p.cmd" : SuishoPetit(k-p:軽量版NNUE)
- "%APPDATA%\npm\usi.material.cmd" : MaterialLv1(駒得くん)
- "%APPDATA%\npm\usi.material9.cmd" : MaterialLv9(たけわらべ改)
- "%APPDATA%\npm\usi.komoringheights-mate.cmd" : KomoringHeights-mate(詰将棋エンジン)


1850.Re: エンジン選択で指定できる拡張子
名前:将棋所の作者    日付:2022/4/9(土) 22:48
cmd拡張子のエンジンファイルを追加できるようにした新しいバージョンを公開したので使ってみて下さい。


1851.Re: エンジン選択で指定できる拡張子
名前:Mizar    日付:2022/4/9(土) 23:52
更新ありがとうございます。これより挙動を確認してWebAssembly版などの公開準備を勧めたいと思います。

「1842.エンジン選択で指定できる拡張子」への返信

無料アクセス解析

アクセス解析の決定版!無料レンタルで最大100ページ解析!

   投稿KEY
   パスワード

EZBBS.NET produced by InsideWeb