2019年10月6日日曜日

やはりこの辺は手間と時間がかかります。

AIメンテくんの作業を始めようと準備していますが、やはり初めてなので戸惑う事ばかり。先人のマニュアルがあるとはいえケースによって自分で試行錯誤しないと結果に当惑しそうです。
先ず、セルの発熱をジャンクションボックスの発熱はOKでホットスポットはNGと分類を作って行くのが最初にあります。その後データの範囲をどうするかも良く考えると難しい事がわかりました。
つまりパネルにまばらにホットスポットがある場合は恐らく雷による損傷ですが、そのまばらのホットスポットを1つ1つを囲って認識出来るか?
ストリングエラーは簡単ですが、ここのエラーの判定の教師データを作るのが一苦労。
で、またアノテーションソフトのインストールもドライバーから不明なエラーを吐かれて右往左往。
毎日持ち歩くノートブック(MAC)にインストールとすると他のアプリと競合して下手にライブラリーを触るとメインのノートが逝ってしまうと困るし。
仕事の合間に段取りを試して帰宅後インストールに失敗して修正して休み丸一日消費します。
今更ですがマニュアル通りに行きません。悩んで半日を過ごして半日試行錯誤…
コマンド操作もう一度思い出さなくては。

をよく読んで下さい。この解説は唯一の教科書です。

アノテーションから

git clone https://github.com/tzutalin/labelImg.git
sudo apt install pyqt5-dev-tools
cd labelImg
make qt5py3

次にlabelimg/data の中にあるpredefined_class.txtを修正します(これが一番手っ取り早い)。最初は20クラスぐらいあらかじめ書き込んでありますが、今回は3クラスだけなので、既に書き込んであるクラス名を全部消し、自分の好きな名称でクラス名を改行して書き込みます。今回はguu、tyoki、paaにしました。これは必ず修正が必要です。
labelimgフォルダの中でプログラムを実行します。
 python3 labelImg.py

以下のような画面が表示されるので、次のような設定を行います。

OpenDir で先ほど作ったイメージデータが入っているディレクトリを指定
Change Save Dir で同じディレクトリを選択。イメージもアノテーション
ファイルも同じディレクトリに入れちゃいます。
さらにSaveの下にある PscalVOC を選択して、必ずYOLOに変更します。
これを忘れると、最初からやり直しになるので注意。
 そして上部のメニューバーからView->Single Class Modeにチェックを入れます。
Single Class Modeとはクラス名が同一の場合、連続でデータを入力できるので、1つのクラスに対応したjpeg画像がここで生きることになります。但しSingle Class Modeにすると最初だけClass名選択をする必要があります。

yoloの下準備

Darknetをインストールするとdarknetディレクトリができます。
darknet/data の中に先ほど作ったjpgとtxtの入ったごちゃ混ぜデータをディレクトリごと移動またはコピー。

 その中にprocess.pyの名称で、以下の内容のファイルを作成

import glob, os

# Current directory
current_dir = os.path.dirname(os.path.abspath(__file__))

# Directory where the data will reside, relative to 'darknet.exe'
path_data = 'data/Murou/'

# Percentage of images to be used for the test set
percentage_test = 10;

# Create and/or truncate train.txt and test.txt
file_train = open('train.txt', 'w')  
file_test = open('test.txt', 'w')

# Populate train.txt and test.txt
counter = 1  
index_test = round(100 / percentage_test)  
for pathAndFilename in glob.iglob(os.path.join(current_dir, "*.jpg")):  
    title, ext = os.path.splitext(os.path.basename(pathAndFilename))

    if counter == index_test:
        counter = 1
        file_test.write(path_data + title + '.jpg' + "\n")
    else:
        file_train.write(path_data + title + '.jpg' + "\n")
        counter = counter + 1

実行方法は、
   python process.py
 実行環境はPython2である事に注意です。画像が不足していると感じた場合は、追加画像群を他の場所でアノテーションして、すべてこの場所に放り込み、再度python 
process.pyを実行するだけです(その場合は画像名称を変えることを忘れずに!!)。
また ./darknet detector train cfg/obj.data cfg/yolov3.cfg darknet53.conv.74 -map
として-map を付けないとどこまでの精度が確保できているかグラフが出てきません。
yolov3.cfg または yolov3_voc.cfg (yolov3シリーズのcfgファイル)を使って下さい。 

Yolov3.voc の変更点は 
3,4行にコメントを入れる
5,6行のコメントを外す
20行目の max_bachesを30000くらいにする
22行目 steps=4000,4500 くらいにする
603,610,689,696,776,783行に書いてある
filters=255
classes=80

の所をクラスが3なら

filters=24
classes=3

に変更します filtersは (クラス数+5)X3  の数値です

darknet/cfgの中にobj.namesファイルを作成
  obj.names :先ほどのpredefined_class.txtと内容が同じファイル。
        クラス名を改行しながら書きます。今回はGoo、Tyoki、Paa
f:id:TAKEsan:20180815230202p:plain
  obj.data    :必要ファイルのリンクを書き込んだファイル。以下のような感じ。
      class   必ず指定。今回の場合3
      train ディレクトリとファイル名を指定 先ほどのtrain.txt
      valid ディレクトリとファイル名を指定 先ほどのtest.txt
      names   クラスファイルの場所とファイル名 obj.names
      backup  学習済みデータの保存先 このままでOK

f:id:TAKEsan:20180815230221p:plain


The program 'git' is currently not installed. You can install it by typing:
sudo apt install git
wiwao@wiwao:~$ sudo apt install git
[sudo] password for wiwao: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 cuda-libraries-dev-10-1 : Depends: libcublas-dev (>= 10.1.0.105) but it is not going to be installed
 cuda-samples-10-1 : Depends: libcublas-dev (>= 10.1.0.105) but it is not going to be installed
 cuda-visual-tools-10-1 : Depends: libcublas-dev (>= 10.1.0.105) but it is not going to be installed
 git : Depends: liberror-perl but it is not going to be installed
       Depends: git-man (> 1:2.7.4) but it is not going to be installed
       Depends: git-man (< 1:2.7.4-.) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
wiwao@wiwao:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  cuda-command-line-tools-10-0 cuda-command-line-tools-10-1 cuda-compiler-10-0
  cuda-compiler-10-1 cuda-cublas-10-0 cuda-cublas-dev-10-0 cuda-cudart-10-0
  cuda-cudart-10-1 cuda-cudart-dev-10-0 cuda-cudart-dev-10-1 cuda-cufft-10-0
  cuda-cufft-10-1 cuda-cufft-dev-10-0 cuda-cufft-dev-10-1 cuda-cuobjdump-10-0
  cuda-cuobjdump-10-1 cuda-cupti-10-0 cuda-cupti-10-1 cuda-curand-10-0
  cuda-curand-10-1 cuda-curand-dev-10-0 cuda-curand-dev-10-1
  cuda-cusolver-10-0 cuda-cusolver-10-1 cuda-cusolver-dev-10-0
  cuda-cusolver-dev-10-1 cuda-cusparse-10-0 cuda-cusparse-10-1
  cuda-cusparse-dev-10-0 cuda-cusparse-dev-10-1 cuda-documentation-10-0
  cuda-documentation-10-1 cuda-driver-dev-10-0 cuda-driver-dev-10-1
  cuda-gdb-10-0 cuda-gdb-10-1 cuda-gpu-library-advisor-10-0
  cuda-gpu-library-advisor-10-1 cuda-libraries-10-0 cuda-libraries-10-1
  cuda-libraries-dev-10-0 cuda-libraries-dev-10-1 cuda-license-10-0
  cuda-license-10-1 cuda-memcheck-10-0 cuda-memcheck-10-1
  cuda-misc-headers-10-0 cuda-misc-headers-10-1 cuda-npp-10-0 cuda-npp-10-1
  cuda-npp-dev-10-0 cuda-npp-dev-10-1 cuda-nsight-10-0 cuda-nsight-10-1
  cuda-nsight-compute-10-0 cuda-nsight-compute-10-1 cuda-nsight-systems-10-1
  cuda-nvcc-10-0 cuda-nvcc-10-1 cuda-nvdisasm-10-0 cuda-nvdisasm-10-1
  cuda-nvgraph-10-0 cuda-nvgraph-10-1 cuda-nvgraph-dev-10-0
  cuda-nvgraph-dev-10-1 cuda-nvjpeg-10-0 cuda-nvjpeg-10-1 cuda-nvjpeg-dev-10-0
  cuda-nvjpeg-dev-10-1 cuda-nvml-dev-10-0 cuda-nvml-dev-10-1 cuda-nvprof-10-0
  cuda-nvprof-10-1 cuda-nvprune-10-0 cuda-nvprune-10-1 cuda-nvrtc-10-0
  cuda-nvrtc-10-1 cuda-nvrtc-dev-10-0 cuda-nvrtc-dev-10-1 cuda-nvtx-10-0
  cuda-nvtx-10-1 cuda-nvvp-10-0 cuda-nvvp-10-1 cuda-samples-10-0
  cuda-samples-10-1 cuda-sanitizer-api-10-1 cuda-toolkit-10-0
  cuda-toolkit-10-1 cuda-tools-10-0 cuda-tools-10-1 cuda-visual-tools-10-0
  cuda-visual-tools-10-1 gir1.2-keybinder-3.0 libcublas-dev libcublas10
  libkeybinder-3.0-0 linux-headers-4.15.0-42 linux-headers-4.15.0-42-generic
  linux-image-4.15.0-42-generic linux-modules-4.15.0-42-generic
  linux-modules-extra-4.15.0-42-generic snapd-login-service
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libcublas-dev
The following NEW packages will be installed:
  libcublas-dev
0 upgraded, 1 newly installed, 0 to remove and 334 not upgraded.
7 not fully installed or removed.
Need to get 0 B/38.9 MB of archives.
After this operation, 109 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
(Reading database ... 302549 files and directories currently installed.)
Preparing to unpack .../libcublas-dev_10.2.1.243-1_amd64.deb ...
Unpacking libcublas-dev (10.2.1.243-1) ...
dpkg: error processing archive /var/cache/apt/archives/libcublas-dev_10.2.1.243-1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/libcublas_static.a', which is also in package nvidia-cuda-dev 7.5.18-0ubuntu1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/libcublas-dev_10.2.1.243-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
wiwao@wiwao:~$ 

wiwao@wiwao-desktop:~/darknet$ make -j16
mkdir -p obj
mkdir -p backup
mkdir -p results
chmod +x *.sh
g++ -std=c++11 -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/image_opencv.cpp -o obj/image_opencv.o
g++ -std=c++11 -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/http_stream.cpp -o obj/http_stream.o
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/gemm.c -o obj/gemm.o
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/utils.c -o obj/utils.o
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/dark_cuda.c -o obj/dark_cuda.o
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/convolutional_layer.c -o obj/convolutional_layer.o
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/list.c -o obj/list.o
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/image.c -o obj/image.o
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/activations.c -o obj/activations.o
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/im2col.c -o obj/im2col.o
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/col2im.c -o obj/col2im.o
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/blas.c -o obj/blas.o
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/crop_layer.c -o obj/crop_layer.o
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/dropout_layer.c -o obj/dropout_layer.o
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/maxpool_layer.c -o obj/maxpool_layer.o
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/softmax_layer.c -o obj/softmax_layer.o
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
./src/activations.c: In function ‘activate’:
./src/activations.c:68:5: warning: enumeration value ‘SWISH’ not handled in switch [-Wswitch]
     switch(a){
     ^~~~~~
./src/activations.c: In function ‘gradient’:
./src/activations.c:138:5: warning: enumeration value ‘SWISH’ not handled in switch [-Wswitch]
     switch(a){
     ^~~~~~
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/data.c -o obj/data.o
./src/dark_cuda.c: In function ‘get_cuda_stream’:
./src/dark_cuda.c:120:18: warning: unused variable ‘buffer’ [-Wunused-variable]
             char buffer[256];
                  ^~~~~~
./src/dark_cuda.c: In function ‘get_cuda_memcpy_stream’:
./src/dark_cuda.c:141:18: warning: unused variable ‘buffer’ [-Wunused-variable]
             char buffer[256];
                  ^~~~~~
./src/dark_cuda.c: In function ‘cudnn_handle’:
./src/dark_cuda.c:161:23: warning: unused variable ‘status’ [-Wunused-variable]
         cudnnStatus_t status = cudnnSetStream(handle[i], get_cuda_stream());
                       ^~~~~~
gcc -Iinclude/ -I3rdparty/stb/include -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wfatal-errors -Wno-unused-result -Wno-unknown-pragmas -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -I/usr/local/cudnn/include -c ./src/matrix.c -o obj/matrix.o
./src/http_stream.cpp:306:10: fatal error: opencv2/opencv.hpp: No such file or directory
 #include <opencv2/opencv.hpp>
          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
./src/image_opencv.cpp:15:10: fatal error: opencv2/core/version.hpp: No such file or directory
 #include <opencv2/core/version.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:149: recipe for target 'obj/http_stream.o' failed
make: *** [obj/http_stream.o] Error 1
make: *** Waiting for unfinished jobs....
Makefile:149: recipe for target 'obj/image_opencv.o' failed
make: *** [obj/image_opencv.o] Error 1
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
./src/gemm.c: In function ‘convolution_2d’:
./src/gemm.c:2037:15: warning: unused variable ‘out_w’ [-Wunused-variable]
     const int out_w = (w + 2 * pad - ksize) / stride + 1;    // output_width=input_width for stride=1 and pad=1
               ^~~~~
./src/gemm.c:2036:15: warning: unused variable ‘out_h’ [-Wunused-variable]
     const int out_h = (h + 2 * pad - ksize) / stride + 1;    // output_height=input_height for stride=1 and pad=1
               ^~~~~
./src/convolutional_layer.c: In function ‘forward_convolutional_layer’:
./src/convolutional_layer.c:1097:32: warning: unused variable ‘t_intput_size’ [-Wunused-variable]
                         size_t t_intput_size = binary_transpose_align_input(k, n, state.workspace, &l.t_bit_input, ldb_align, l.bit_align);
                                ^~~~~~~~~~~~~
./src/maxpool_layer.c: In function ‘cudnn_maxpool_setup’:
./src/maxpool_layer.c:27:19: warning: variable ‘maxpool_status’ set but not used [-Wunused-but-set-variable]
     cudnnStatus_t maxpool_status;
                   ^~~~~~~~~~~~~~
./src/data.c: In function ‘load_data_detection’:
./src/data.c:892:19: warning: unused variable ‘scale’ [-Wunused-variable]
             float scale = rand_precalc_random(.25, 2, r_scale); // unused currently
                   ^~~~~

0 件のコメント:

コメントを投稿