1

バイナリ分類に libsvm を使用しています. 結果を改善すると言われている grid.py を試してみたかった.. このスクリプトを別々の端末で 5 つのファイルに対して実行し、スクリプトは 12 時間以上実行されています..

これは私の5つの端末の現在の状態です:

[root@localhost tools]# python grid.py sarts_nonarts_feat.txt>grid_arts.txt
Warning: empty z range [61.3997:61.3997], adjusting to [60.7857:62.0137]
         line 2: warning: Cannot contour non grid data. Please use "set dgrid3d".
Warning: empty z range [61.3997:61.3997], adjusting to [60.7857:62.0137]
         line 4: warning: Cannot contour non grid data. Please use "set dgrid3d".

[root@localhost tools]# python grid.py sgames_nongames_feat.txt>grid_games.txt
Warning: empty z range [64.5867:64.5867], adjusting to [63.9408:65.2326]
         line 2: warning: Cannot contour non grid data. Please use "set dgrid3d".
Warning: empty z range [64.5867:64.5867], adjusting to [63.9408:65.2326]
         line 4: warning: Cannot contour non grid data. Please use "set dgrid3d".

[root@localhost tools]# python grid.py sref_nonref_feat.txt>grid_ref.txt
Warning: empty z range [62.4602:62.4602], adjusting to [61.8356:63.0848]
         line 2: warning: Cannot contour non grid data. Please use "set dgrid3d".
Warning: empty z range [62.4602:62.4602], adjusting to [61.8356:63.0848]
         line 4: warning: Cannot contour non grid data. Please use "set dgrid3d".

[root@localhost tools]# python grid.py sbiz_nonbiz_feat.txt>grid_biz.txt
Warning: empty z range [67.9762:67.9762], adjusting to [67.2964:68.656]
         line 2: warning: Cannot contour non grid data. Please use "set dgrid3d".
Warning: empty z range [67.9762:67.9762], adjusting to [67.2964:68.656]
         line 4: warning: Cannot contour non grid data. Please use "set dgrid3d".

[root@localhost tools]# python grid.py snews_nonnews_feat.txt>grid_news.txt
Wrong input format at line 494
Traceback (most recent call last):
  File "grid.py", line 223, in run
    if rate is None: raise "get no rate"
TypeError: exceptions must be classes or instances, not str

出力をファイルにリダイレクトしましたが、これらのファイルには今のところ何も含まれていません。そして、次のファイルが作成されました。

  • sbiz_nonbiz_feat.txt.out
  • sbiz_nonbiz_feat.txt.png
  • sarts_nonarts_feat.txt.out
  • sarts_nonarts_feat.txt.png
  • sgames_nongames_feat.txt.out
  • sgames_nongames_feat.txt.png
  • sref_nonref_feat.txt.out
  • sref_nonref_feat.txt.png
  • snews_nonnews_feat.txt.out (--> 空です)

.out ファイルには1 行の情報しかあり
ません。「.png」ファイルは GNU PLOTS です。

しかし、上記のGNUplots / warningsが何を伝えているのか理解できません..それらを再実行する必要がありますか?

各入力ファイルに約144000行が含まれている場合、このスクリプトにかかる時間について誰か教えてください..

感謝と敬意

4

4 に答える 4

1

libSVM faq はあなたの質問に答えます:

Q: grid.py/easy.py で次の警告メッセージが表示されることがあるのはなぜですか? 警告: 空の z 範囲 [62.5:62.5]、[61.875:63.125] に調整 注意: 非グリッド データの輪郭を描くことはできません! 何も問題はありません。メッセージは無視してください。輪郭を描くときはgnuplotからです。

補足として、grid.py 操作を並列化できます。libSVM ツール ディレクトリの README ファイルには、この問題について次のように書かれています。

平行グリッド検索

同じファイル システムを共有するコンピューターのクラスターにジョブをディスパッチすることにより、並列グリッド検索を実行できます。まず、grid.py にマシン名を追加します。

ssh_workers = ["linux1", "linux5", "linux5"]

次に、パスワードを要求せずに認証が機能するようにsshをセットアップします。

複数の CPU やより多くの RAM を搭載している場合、同じマシン (ここでは linux5 など) が複数回リストされることがあります。ローカル マシンが最適な場合は、nr_local_worker を拡大することもできます。例えば:

nr_local_worker = 2

私のUbuntu 10.04インストールでは、 grid.py は実際には /usr/bin/svm-grid.py です

于 2011-04-03T20:51:05.133 に答える
1

あなたのデータは巨大で、144,000 行あります。したがって、これには時間がかかります。あなたのような大規模なデータを使用しましたが、完了するまでに最大 1 週間かかりました。画像を使用していると思われるため、データが大きい場合は、データを作成する前に画像のサイズを変更してみてください。画像のサイズを変更しても、ほぼ同じ結果が得られるはずです。

于 2010-08-17T10:57:08.783 に答える
0

変化する:

if rate is None: raise "get no rate"

223行目grid.py

if rate is None: raise ValueError("get no rate")

また、次を追加してみてください。

gnuplot.write("set dgrid3d\n")

この行の後grid.py

gnuplot.write("set contour\n")

これで警告とエラーが修正されるはずですがgrid.py、データにがないと思われるため、機能するかどうかはわかりませんrate

于 2010-03-15T04:07:59.580 に答える