LoginSignup
0
1

More than 3 years have passed since last update.

Google Colaboratoryでdarknetコマンドが使えない!

Last updated at Posted at 2020-09-08

背景

./darknet detector train 〜でyoloの重みをGoogle Colaboratoryで学習させたかったが(ローカルで動作検証済み)、./darknet: permission deniedと権限エラーが表示される

環境

・mac OS Catalina 10.15.6
・Google Colaboratory
・python 3.6.9
・tensorflow 1.4.2

内容

権限エラー

まずは、下記を解決する

./darknet: permission denied

  
darknetの権限を変更する事で解決した

chmod 755 darknet

  
しかし、再度エラーが

バイナリファイルの実行エラー


次に、下記を解決する
./darknet: cannot execute binary file: exec format error

これは、コンパイルしたファイルが対応しておらず、実行できないとのこと
gccのバージョンがnvccのバージョンと対応していないようだ
  
実際、Makefileをmakeした際の出力を確認すると

gnu version! gcc versions later than 5 are not supported!

とgccのバージョンエラーが記載されていた
  
コンパイラの変更コマンドで確認してみよう

!update-alternatives --config gcc

やはりどうやらgcc 7のためのようだ

解決策

下記コマンドを流し、gcc 4.8をインストールしてデフォルトに設定する

!sudo update-alternatives --remove-all gcc 
!sudo update-alternatives --remove-all g++

!sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
!sudo apt-get update

!sudo apt-get install gcc-4.8 g++-4.8

!sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
!sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

!sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 50
!sudo update-alternatives --set cc /usr/bin/gcc

!sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 50
!sudo update-alternatives --set c++ /usr/bin/g++

!sudo update-alternatives --config gcc
!sudo update-alternatives --config g++

  
コンパイラ変更コマンドで確認した結果、きちんとgcc 4.8をデフォルトとして設定することが出来た

$!update-alternatives --config gcc
There is only one alternative in link group gcc (providing /usr/bin/gcc): /usr/bin/gcc-4.8
Nothing to configure.

  
  
以上

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1