少ないリソースを酷使する

低レイヤーとレトロPC(PC98,MSX)が好きな情報学生

とっても古いPython,OpenCV,TensorFlow環境を構築する時の苦悩過程

この記事は「岩手県立大学 Advent Calendar 2023」の25日目(後出し)です。

qiita.com

ことのはじまり

私はGitHubを見ていて「あ、このリポジトリ動かしたいな」と思った時、まずはそのリポジトリが動く環境のDocker image構築から始まります。
動いた環境を人に共有しやすく、なるべくベース環境はきれいに保てるので。
さて、いつも通り環境を構築しようとしましたがリポジトリには以下のような要件が提示されていました。

github.com

  1. Ubuntu 16.04
  2. Python 2.7
  3. OpenCV 2.4.13 compiled with GPU support
  4. boost_python 1.65.0
  5. TensorFlow
  6. Sonnet

全体的に要求環境が古いですね。
というのも最終コミットが2019年なので納得です。

環境構築の困難さ

そのままモダンな環境で動くのか

要求環境は古いですが、別にUbuntu 20.04 + Python3.x + OpenCV 4.x ...でそのまま動いてくれるなら何も気にすることはありません。
が、今回の場合以下の問題が発生します。

  1. 記法が違う部分があるため、Python3系に合うようにPythonスクリプトを書き換える必要あり
  2. OpenCVAPI互換がなく、書き換えが必要な部分多々あり

正直、今回のコード規模ぐらいであれば全部書き換えても大したことないとは思うのですが、 もっと大規模なコードで同じ問題に陥っていた場合にはモダナイゼーション(使い方あってる?)には以下のリスクが伴います。

  1. 過去に自分が作ったシステムでない限り、モダナイゼーションした後に起こったバグは元々のソフトウェアのバグか自分が修正を加えたせいで出たバグか切り分けるのが難しい
  2. 関数のデフォルトアルゴリズムが変わっていたりすると計算結果が合わずつらい(オプションで過去のアルゴリズムが選択できることがほとんどだが)
  3. システムの規模によるが単純に書き換えが手間、ChatGPTとかにモダンにしてって言えばそれなりにぱぱっとできるかもしれないがそれでも手間だし、計算結果が想定通りじゃないと更に頭を抱える

ということで、元々の環境を再現して動かせるならなるべくその方がいい。とは思います。

今回の障壁

今回面倒なのは以下の3つの条件です。

  1. Python 2.7
  2. OpenCV 2.4.13 compiled with GPU support
  3. TensorFlow

まず、これは今回の例に限ったことではないのですが「マシンについている物理GPU」「OpenCV」「TensorFlow」全員が納得するCUDA環境を整えるのは非常に面倒です。 また、Python 2.7自体は用意するのはなんてこと無いのですが、Python 2.7と連携できるTensorFlowやその他パッケージのバージョンを用意する必要があります。 今回開発マシンには「NVIDIA GeForce RTX 3070」がついているのでこのアーキテクチャ対応も意識する必要があります。

TensorFlow(GPU版)の問題

TensorFlowで学習、推論を回すならGPUアクセラレーションが使えるならぜひ使いたいところです。
CPU版でやっていてはとてもじゃないけど遅すぎて開発効率が悪いことがありますからね。
Python2.7と連携できるtensorflow-gpuversion 1.15.xが最後です。
version 1.15.xに対応するCUDA環境はCUDA:10.0 cuDNN:7になります。
がしかし、「NVIDIA GeForce RTX 3070」は最低でもCUDA:11.1が必要です。
よって、Python2.7の使用を続ける場合この時点でtensorflowのGPUアクセラレーションは諦めるしかなくなり詰みます。

古いOpenCV(with CUDA)の問題

ではOpenCVはどうでしょう?
OpenCV with CUDA をビルドするには一例ではありますが以下のようなビルドオプションが必要です。

RUN cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D WITH_CUDA=ON \
    -D WITH_CUDNN=ON \
    -D OPENCV_DNN_CUDA=ON \
    -D CUDA_ARCH_BIN='8.6' \
    -D CUDA_ARCH_PTX='8.6' \
    -D ENABLE_FAST_MATH=1 \
    -D CUDA_FAST_MATH=1 \
    -D WITH_CUBLAS=1 \
    -D WITH_TBB=ON \
    ..

重要なのはCUDA_ARCH_BINCUDA_ARCH_PTXの2つで、ここに書く数字はPCに搭載されているGPUによって最適な数字が異なります。
CUDAのバージョンによって変わる数字ではないので注意が必要です。
以下のリストから自分のGPUの名前を探し、「Compute Capability」に書いてある数字を参照します。

CUDA GPUs - Compute Capability | NVIDIA Developer

よって、「NVIDIA GeForce RTX 3070」では「8.6」となります。
もちろん、CUDA_ARCH_BIN='8.6'でビルドするにはCUDA:11.1以降が必要となりますが(参考)、 そうなると今回要求されているOpenCV 2.4.13サポート範囲外となります。
このような「Compute Capability」とOpenCVのバージョンの適応関係は以下の記事によくまとめられています。

qiita.com

「じゃあもうめんどいんで、GPUアクセラレーションなしのOpenCV 2.4.13インストールするんでとりあえず動いて」と思ってしまいますが、 ここで面倒なのはOpenCVGPUアクセラレーションを使ったコードからの脱却方法です。
TensorFlowなどではほぼコードの書き換えなしにCPU,GPUどちらのリソースで計算するかは気軽に切り替えられるのですが、 OpenCVGPUアクセラレーションを使用する/しないはコードの記述に依存するので、GPUアクセラレーションから脱却するには該当範囲をすべてCPU対応に書き直す必要があります。(単純な書き換えではありますが)
最初からCPUでもGPUでも動くように環境によって分岐するように優しく書かれているコードだとありがたいですが、そうでない場合&コードの規模が大きい場合少々手間です。

おとしどころ

ここまでの制約を整理すると

要素 一言 要求されるCUDA範囲
物理GPU 世代によってCUDAのMin値は決まる 11.1 < X
TensorFlow Python2.7で使えるtensorflow-gpuの最大は1.15.x X < 10.0
OpenCV 2系は古すぎ、GPUから脱却するのもやや面倒 3.0 < 9.2

ここからやるべきことは以下のように整理されます。

  1. ベースは CUDA 11.1
  2. Pythonを3系にして、tensorflow-gpuを使えるようにする
  3. OpenCVのバージョンを上げるためにコードを書き換える

2はオプショナルで別にやらなくてもCPU計算で動くには動くので1と3をやることにします。

最終的な解決

まずDockerのベースimageをUbuntu16.04 + CUDA11.1 + cuDNN8のものにします。
DockerHubのnvidia/cudaからは古いものは消されていくのですが、 nvidia/cudaにない古いものもnvcr.io/nvidia/cudaからとってくることができます。

catalog.ngc.nvidia.com

OpenCVはなんとなく4.5.2にしてみました。
2系から4系にあげたため、各種APIの仕様が変わりそのままでは動きません。
動くように"頑張って"cppやpythonを書き換えてエラーを消していきます。

ここでやっと動きます。

まとめ

特になんの参考になるかわかりませんが、私が普段更新の古いリポジトリを動かすときに考えていることを書き出してみました。
結果的に「Python3にする」とか「OpenCVのバージョンを上げる」とかめんどくさがらずに書き換えるしか無いこともありますが、なるべくそのまま動かすためにどう情報を参照すべきかはまとまったと思います。
これを読んだみなさんも"動かない😡"と大量にissueが立てられてるリポジトリが動く環境を提供してみると、救われる人類もいるかも知れません。

おまけ

その1

なんか各種環境のtensorflow-gpuのwhlリンクだけを大量にまとめてるサイトがあります。
Links for tensorflow-gpu

その2

TensorFlowは古いバージョンだとpipのパッケージ名によって、

  • tensorflow・・・CPU版
  • tensorflow-gpu・・・GPU

とわかれていましたが最近のバージョンはtensorflowを入れるだけでどっちにも対応します。

その3

OpenCVをCUDA付きでビルドする際にサポートされる範囲 #OpenCV - Qiita
この記事だとOpenCV 2.4.13.7のCUDAの対応は最大9.2ですが、 CUDA 9系 + OpenCV 2.4.13でビルドしようとするとリンクエラーで素直にはビルドできないので注意です。cmakeを書き換える必要があります。
ここらへんで議論されてます。
stackoverflow.com

技適の通っていないRaspberry Pi 5をなんの申請もなしに運用する

この記事はIoTLT Advent Calendar 2023 12日目の記事です。(遅れてすみません...) qiita.com

ものづくりではないですが、技適の通っていないIoTデバイスで遊びたい人向けに情報共有です。
本当はRaspberry Pi 5をいち早く使ってみての感想を書きたかったんですが、
環境構築だけで大変だったのと、なにをレビューしたらいいか悩みやめました。
Raspberry Pi 5で検証してほしいこと募集中です!
https://twitter.com/T_taisyou

はじめに

趣味開発でも仕事でもRaspberryPiをよく使うのですが、RaspberryPiシリーズの新作が出るたびに悩ましいことがあります。
それは「日本での発売が遅い」ということです。
これは多くの場合"技適(技術基準適合証明)"の認証待ちによるものです。
技適がなんなのかは以下で優しく解説されています。

www.musen-connect.co.jp

さて、私は「いち早くRaspberry Pi 5を使ってみたい!」と思ったわけですがRasPi 5は技適が通っていません。
技適が通っていなくても海外ではすでに発売はされているので輸入で買うことはできたのですが、
日本で電源を入れると電波法違反になってしまいます。
どうしたものか...

技適の通っていないデバイスを運用する方法

よく検索するとでてくるのは「技適未取得機器を用いた実験等の特例制度」を申請して使う方法です。
技適の通っていないデバイスでも180日間なら使えるようになる申請です。
ただ、申請は簡単なんですが書くのめんどいし(めんどくさがり)、180日をすぎるとそのデバイスは文鎮になってしまうのでもったいないなと思いました。
そこで、別の方法として電波暗箱というものを買ってみることにしました。

電波暗箱を買う(高い)

電波法を守るには、電波をやたらめったら飛ばさなければいいので電波を遮断する箱の中でデバイスを運用しようというわけです。
スイッチサイエンスさんはどうやら電波暗箱を持っているようで、以下の記事でそれを使用したRaspberry Pi 5の検証が早速行われていました。
www.raspi.jp

電波暗箱を買ったことはないのでこの記事にある画像と「電波暗箱」の画像検索でメーカーを特定しました。
どうやらマイクロニクスさんのTaurusシリーズっぽいです。
micronix-jp.com

本体は最低でも20万...なのですが、じつは本体よりもオプション品が悩ましく、
本体だけだとただの箱で外にUSBやLANが引き出せません。
なので、引き出せる付属ユニットも一緒に買わないとRaspberry Pi 5を運用するのはまず不可能なんですが、
まぁこのユニットがいいお値段します。

いいお値段するんですが、中古で買ってみました。

電波暗箱の環境構築

今回買った電波暗箱はUSBポートx1、LANポートx1とポート数が少ないので工夫が必要です。
結果こうなりました。(RaspberryPiは起動していません)

まず、コンセントを分岐しますが箱の中は狭いので自由度があるタップを使います。
結構お気に入りでよく買っています。

www.elecom.co.jp

LANケーブルも分岐したいので5ポートのコンパクトなハブを設置しました。
USBはRaspberryPiのUSBを外に出すのではなく、USBハブを外部に引き出すことにしました。
ちなみに、どちらの場合でもUSB A-to-Aのケーブルが必要なので注意です。(あきばお〜で買いました)
USBハブにはHDMIキャプチャとWebカメラを繋いでいます。
これで外部のパソコンでRaspberryPiの画面や箱の中の様子が監視できます。

それから、箱の中は絶対熱くなります。
なのでRaspberryPiの冷却は必須なのでRaspberryPi公式のActiveCoolerを取り付けました。
公式の紹介ではこれがあるのと無いのでは性能に大きな差が出るとのこと。

いざ電源投入

箱にコンセントを差すとすぐにすべてが起動してしまうので、スイッチ付きの電源タップに電波暗箱の電源ケーブルをまとめました。

電源投入!
無事Raspberry Pi 5が起動し、HDMIキャプチャ経由でデスクトップが表示されました🎉

Webカメラ経由で箱の中のアクセスランプも監視できます。

ここから色々動かしてみるのが楽しみですね!

さいごに

電波暗箱はやっぱ高いので、技適が通ってないけど遊びたいデバイスがある人向けにレンタルサービスを始めようかなと思っています。
需要があれば貸し出すので連絡ください!
あと、Raspberry Pi 5で検証してほしいこと募集中です!(2回目)
https://twitter.com/T_taisyou

あとから見つけたんですが、LANケーブル1本でHDMI,USB(キーボードやマウス)を伝送できる送受信機があるようですね。
これを使えば少ないポートでも運用が楽そう。
amzn.asia

岩手で起業して1年経った。

この記事は「岩手県立大学とか、岩手の人たち Advent Calendar 2022」の1日目です.

qiita.com

要約すると, 岩手の奥地に存在するらしい岩手県立大学に関係することや岩手県に関係ある人たちでワイワイするAdvent Calendarを立てたよ! という話.
1日目は「岩手で会社立ててみてどうなん?」という話を書きます。

会社を立てて1年経った

私は2021年6月2日にDefios株式会社というAI・IoT関係の開発を主に行う会社を起業しました。

www.defios.jp

代表取締役は私と、もうひとり近藤という男です。
つまりは現時点で起業から1年半ぐらいですかね。
弊社は10月決算なのでもう二期目も終わったという感じです。
起業してからたった一年。されど一年。岩手での会社経営の感想を書いていきます。

冬の出勤は大変。オフィスの場所は重要。

東北民なら誰でもわかると思います。冬の出勤はとにかく大変です。
かといって、会社の代表が大事な会議に遅れるわけには行きません。
安全運転に気をつけながら会議のために朝早くから走り回っていました。
とはい言っても、弊社は完全テレワーク・完全フレックス制を採用していたので普段の業務でそこまで負担はありませんでしたが、やはり顔を合わせて面談する機会があると大変でした。
いまでは私はちょっとはオフィスに近い家に引っ越し、用途に合わせて打ち合わせ場所が選べるようオフィスも2拠点用意しました。

引越し先の自慢のゲームラック。遊ぶ相手はいない。

だから1年目の目標は盛岡にオフィスを持つことだった

最初のオフィスであり、現在の本社である場所は滝沢市第2イノベーションセンターという施設のシェアオフィスです。

立地としては自分の通う大学の目の前にあるので通いなれた場所って感じでいいですが、盛岡から少し離れていて、最寄り駅からもまぁまぁ歩くので交通の便はやや悪いです。
茶店や食事処も周りに1件しか無く、来社される方との打ち合わせにはちょっとばかし不便でした。
ですが、大学や滝沢市の協力もあり、オフィスの家賃は無料でした!
なので最初の登記場所としてはとても魅力的です。
岩手県立大学の学生で登記したい人は是非活用したほうがいいと思います。
とてもいい場所で、援助も嬉しかったですが「学生起業だから」と支援される状況に甘えず、しっかり会社として自立したいという思いが社内では強く、 起業して1年目の目標は「安定した売上を確保し、盛岡に自社のオフィスを構え自立すること」になりました。

結果人も増えた

オフィスを構えることを目標にすると、とにかく安定した売上が必要で、安定してお仕事をするには長期契約が理想で、長期契約を得るには信頼が必要で、信頼を得るにはマンパワーが必要で...
という感じで従業員が必要になりました。共に起業した役員二人は技術力には自信がありますが、とにかく2人だけで回せる仕事には当たり前ですが限界はありました。

ここが結構起業する前の想像とは違ったところでした。

岩手という地でIT企業を立て、起業時には見込み取引先もほぼ無い状態...正直会社を立てても1年くらいはちょっとは暇かなと思っていましたが、実際は激務に次ぐ激務です。
昼間は会議、メール、会議、メール、会計と昼にしかできないことをし、夜は徹夜で開発しそのままデスクで寝る生活です。
そんな中 求人を出し、最初に従業員となってくれた3人には本当に感謝しかありません。
さて、「岩手で求人はどうするのか。」という話ですが、弊社は完全テレワークOKなのでネットに求人を掲載し全国から採用しました。
私のTwitterなんかでも募集をかけましたが、結構それは効果的だったと思います。想定の採用枠の倍は超える応募が来ました。
テレワークでも開発がしやすい、Webサービスやソフトウェアの開発をする会社さんは絶対全国から採用したほうがいいと思います。
とはいえ、同じ岩手県立大学の後輩にあたる学生など、岩手の学生も面接をうけてくれて同じ岩手のエンジニアと切磋琢磨できる嬉しさを感じました。

最終的に初回採用時より従業員の給与も上げ、岩手・宮城・東京・京都......と様々な場所の6人の従業員と現在は会社を回しています。

売上もとりあえず安定、オフィスも構えることが出来た

AIのモデル作成や精度改善はもちろん、メーカー系の組み込み開発もやりましたし、コンサルティングや、技術系の講師業務、スマホアプリの作成まで何でもやりました。
まだ1年ですが、信頼いただき、続けてお仕事をいただけるところも少しずつ増えました。その結果、売上は起業当初に書いた事業計画書の数倍まで伸び、盛岡のど真ん中に無事オフィスを構えることが出来ました。

盛岡にオフィスを構えたおかげで、車持ちの私も大通りで何も気にせず酒を呑んでオフィスで寝ることが出来、これが何より最高です。(個人的感想)
ほかにも、岩手で稼いでるわけですから岩手に少しでも還元しようと地元のeスポーツ大会やロボットサッカー大会に協賛したりもしました。

あと私はSecHack365やセキュリティ・キャンプなどセキュリティ関係のコミニュティにもお世話になっているので、CTFのスポンサーをしたりもしました。

ともかく、
オフィスが増えようが従業員が増えようが、ここ(Defiosという会社)からなにを生み出すかが大事なので、これからも頑張っていこうと思います。

最後に、弊社は絶賛 事務作業員 募集中です。 以下より是非ご応募お願いします!! https://www.ipu.u-coop.or.jp/app/arbeit/index.php?mode=show_entry&cd=7NIedOu4

おまけ:会社の代表と学業の両立

結論:私には無理そうです。。。
私は現役の博士後期課程の学生でもありますが、博士の学位を大学の想定期間(3年)で取るのは難しいかなぁと思っているし、実際モチベーションも今は自分の会社のことに傾いています。
まして今年は会社を回しながら、セキュリティ・ネクストキャンプのチューターやSecHackのアシスタントまでチャレンジする暴挙に出て、スケジュールはミチミチです。
最近は「今日は休みかぁ...」とゆっくり寝ているときに「研究しろ....研究しろ....」と幻聴が聞こえてきます。

2021年 岩手県立大学 Advent Calendarを〆る

この記事は岩手県立大学 Advent Calendar 2021 の最終日です。

今年のアドベントカレンダーを振り返って

去年に引き続き今年も私が岩手県立大学 Advent Calendarを立てさせていただきました。
今年も多くの人にご参加いただき,賑やかなものとなりました。
私事ではありますが、今年は去年以上に忙しくなかなか宣伝や皆さんの記事1つ1つにコメントが出来ず本当に申し訳ありませんでした...
しかしながら皆様のおかげで、今年も投稿予約枠はなんとか全日埋まりました!!🎉 f:id:T-takeda:20211225235201p:plain

記事を投稿してくださった皆様方はもちろん,記事を読んでいただいた方々,拡散していただいた方々,みなさま本当にありがとうございました!
来年も多分私がアドベントカレンダーを立てるでしょう。
その時はまた皆さんと楽しめることを願っています。

まとめ

今年はおかげさまで充実した年末を過ごせました。
アドベントカレンダーをきっかけに、多くの人が積極的にアウトプットする岩手県になることを願います。

Raspberry Pi OS をこれから新規インストールする人はBullseyeに気をつけよう

この記事は「岩手県立大学とか、岩手の人たち Advent Calendar 2021」の10日目です。 qiita.com

Raspberry Piで遊ぼうとしたその時...

GROVE Base HAT for Raspberry Pi Zeroを買った。
www.switch-science.com

公式のセットアップ手順に従ってgrove.pyをインストールする。 GitHub - Seeed-Studio/grove.py: Python library for Seeedstudio Grove devices

以下のコマンドで一気にセットアップしてくれるらしいのだが...

curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s -

失敗する。

-------------------------------------------------------
     Grove.py installation FAILED, FAILED, FAILED
-------------------------------------------------------

スクリプトに頼らず自分で手順を追ってインストールチャレンジしてみると...
grove.py/INSTALL.md at master · Seeed-Studio/grove.py · GitHub f:id:T-takeda:20211225224218p:plain 依存関係が入れられなくて詰んでいる。

原因は最近Raspberry Pi OS のバージョンアップ

Raspberry Pi OSは2021年11月にBullseyeへバージョンアップしました。
www.raspberrypi.com

いままではBusterというバージョンでした。
BusterからBullseyeへの移行がまだ十分でないので、先述の問題の原因はパッケージがまだ新しいOSのバージョンに対応していなかったんですね〜

Raspberry Pi OSのバージョン感の障壁と現状の対応

BusterとBullseyeの2つの間ではaptパッケージの更新が追いついていなかったりで移行にすごい障壁があるので「手元のラズパイでは動いてたのに移植したら動かない...」とか問題が発生するよ!
とのこと。
これは別にBusterとBullseyeだからというわけではなく、OSバージョンのブランチ切り替えでは必ず起こる現象ですが、RaspberryPi OSは特にも9年間Busterで動いてきたのでその障壁は大きい。
「今まで動いてたのに環境が変わったせいで動かせなくなったよ〜」と困るユーザのために、Raspberry Pi公式では今までのRaspberry Pi OS (Buster)もサポートを続けるそうです。
現時点でRaspberry Pi公式のRaspberry Pi Imagerを使ってデフォルトでSDカードに焼かれるRaspberryPi OSのバージョンはBullseyeですが、Raspberry Pi OS(Legacy)としてBuster版も焼くことができる。
とりあえず困ったらこれで対処しておこう。
f:id:T-takeda:20211225231439p:plain

今後の対応

様々な環境の移行に時間がかかりそうなのでDebian Busterは2024年6月までDebianによってサポートされる。
ベースとなっているLinux 5.10カーネルは2026年12月までサポートされる。
その間にRaspberry Pi OSを完全にBullseyeに切り替える決断を多分するんだろうという感じ。

ここまでの話はRaspberry Piの最高製品責任者(CPO)のGordon Hollingworth氏が色々説明してくれてます。 japan.zdnet.com

各パッケージ開発者は今一度Bullseyeで動くか確認してみましょう〜

岩手で株式会社が立ちあがるまで【無限手続き 編】

この記事は「岩手県立大学とか、岩手の人たち Advent Calendar 2021」の15日目です。

qiita.com

岩手で会社を立てた

私事ですが、今年 岩手で起業しました。
Defios(デフィオス)株式会社という、AI / IoTの会社です。現在アルバイト募集中です。お気軽にご連絡ください → 大将 (@T_taisyou) | Twitter

www.defios.jp

株式会社を設立する際、「手続きの仕方なんてネットや本に無限にある!」とはいうものの、実際やってみたら関連情報を1つ1つ寄せ集めながらわけのわからん紙(書き終わる頃にやっと分かるようになった)をいっぱい書かなければいけないのが大変だったのでまとめてみました。

今回は実際の手続きをはじめるよ

前回の記事では手続きを始めるための事前準備を完了しました。
t-takeda.hatenablog.com

今回は、実際にいろんな窓口で手続を行います。

定款の作成方法を選ぶ

会社として認めてもらうには定款というものが必要です。
定款とは「法人の目的、組織、活動に関する根本となる基本的な規則を記録したもの」です。参照元
で、定款を用意して提出するんですけど、電子データの提出と紙での提出が選べます。
特にこだわりがなければ電子定款一択だと思います。安いです。
f:id:T-takeda:20211225202710p:plain freee会計と契約すると手数料が無料になるということで私はこのタイミングでfreee会計を契約して、電子定款の作成を決めました。

定款の内容を確認する

freee会社設立が作ってくれた定款をよく確認します。
特に株式についてや、名前、住所、などは誤りがないかよく読み込みます。

電子定款作成を専門家へ依頼

行政書士さんと直接メールでやり取りすることになります。
作成プラン(お急ぎとか)を選んで、見積もられた金額を直接行政書士さんの口座に入金します。
すると、数日後に電子署名済み定款が届きます。

定款を公証役場に提出しに行くぞ!

盛岡、滝沢などに登記する場合、公証役場は「盛岡公証人合同役場」になります。
f:id:T-takeda:20211225204729p:plain

事前準備

委任状と定款を綴る

委任状や電子署名済み定款を印刷して持ってくんですが、定款の綴じ方が決められていおます。
製本テープがあると楽です。
製本テープで閉じて発起人(社員・設立者)全員の契印が必要です。
詳しくは以下の手順参照。
https://k.secure.freee.co.jp/pdfs/electronic_company_contract_guide.pdf

CD-Rを買う

定款の電子データの受け取り用に必要です。
「当日、公証役場の近くのコンビニで買えば言ええやろ」とか思ってると、意外と売ってなかったりして困ります。
昔は売ってた気がするんですが、現代ではコンビニでも100均でもあんまり売ってないようです。事前に電気店で買っておきましょう。

公証役場に予約する

メールでも電話でもいいんで事前に絶対予約します。(公証役場は予約制です)
私はメールフォームから予約をしてみましたが、結局電話がかかってきて用件を聞かれたりするので最初から電話でかけたほうが良いかもしれないです。

公証役場に行く

盛岡公証人合同役場は盛岡大通の七十七銀行の近く、大通りのセブンイレブンのビルと確か一緒です。
ちょっと古くて、狭い役場です。
定款認証代金として、現金52,000円を持っていかなければいけないので置き忘れやひったくりに合わないよう気をつけて行きます。

法務局に行けそうな日で会社の設立日を決める

法務局にこのあと書類を提出するんですが、書類を窓口に提出した日が会社の設立日となります。
会社の設立日に希望があれば、法務局に行けそうな日で会社設立日を決めましょう。

freeeの画面では、次の手続きは「出資金を入金しましょう」なんですが、「出資金を入金後、2週間以内に登記書類を法務局に提出する必要がある」ので、絶対いつ法務局に行くか決めてから出資金を入金しましょう。

出資金を入金する

株式会社は「専門家から定款作成完了の連絡が来た日以降」に入金したお金しか出資金として認められないので気をつけましょう。
入金口座は個人の口座で何でも良いです。ネットバンクでもいいです。
口座の取引履歴に「出資金を入金した」という印字が必要なので、自分の口座の100万を出資金として入金したい場合、一回口座から100万円を引き出して、もう一度入金することで取引履歴に入金100万円を印字します。

諸々書類を用意して法務局に行く

「ちょっと管轄広すぎない...?」とも思うんですが「盛岡市八幡平市岩手郡雫石町,滝沢村,岩手町,葛巻町紫波郡紫波町矢巾町」あたりで登記する人は「盛岡地方法務局 本局」での手続きになります。
f:id:T-takeda:20211225210230p:plain
大体アイーナの裏っかわです。
駐車場が建物にあって、駐車券を手続き時に窓口に出すと無料にしてくれます。
登録免許税15万円を現金で持っていかなければいけないので置き忘れや強盗に合わないよう気をつけて行きます。
このとき、一緒に法人代表印の印鑑登録もします。

おめでとう。これで会社が立ったぞ。

無事、窓口で手続が終われば会社設立となります!🎉 f:id:T-takeda:20211225212007p:plain

だが、俺達の戦いはまだ終わらない....

ここまでやってみると「なんだ、手続きって言ったってこんなもんか。やってみたら楽勝だぜ!」と思う人もいるのかもしれませんが、ここからが本当の無限手続き編であり、時間との勝負になります。。。。

f:id:T-takeda:20211225211214p:plain

ババーン!これが設立後の手続きだ!!!
これの何が大変かって「設立後5日以内に提出」「設立後1週間以内に提出」などそれぞれ厳し目の期限が設定されていることです。
それでいて、ここまではほぼ全てfreeeが自動で書類を記入してくれましたが、上記の手続書類はfreeeでも生成できないものも結構含まれてます。1つ1つ自分で記入していくしかありません。
登記事項証明書や法人の印鑑証明書を取りに法務局へ行く必要もあります。
銀行に法人口座を開設するのも早めに済ませる必要があります。。。
ここからがホントは面白いところなんですが、この記事はここまで。では。

岩手で株式会社が立ちあがるまで【事前準備 編】

この記事は「岩手県立大学とか、岩手の人たち Advent Calendar 2021」の14日目です。

qiita.com

岩手で会社を立てた

私事ですが、今年 岩手で起業しました。
Defios(デフィオス)株式会社という、AI / IoTの会社です。現在アルバイト募集中です。お気軽にご連絡ください → 大将 (@T_taisyou) | Twitter

www.defios.jp

株式会社を設立する際、「手続きの仕方なんてネットや本に無限にある!」とはいうものの、実際やってみたら関連情報を1つ1つ寄せ集めながらわけのわからん紙(書き終わる頃にやっと分かるようになった)をいっぱい書かなければいけないのが大変だったのでまとめてみました。

どうやったら株式会社が立つのか手続きだけ説明するよ

この記事では「こんな事業で始めると良い!!」とか「資本金はいくら以上が良い!!」とか「株式発行数は...」とか会社ごとに考えなきゃいけないところはすっ飛ばして、岩手で株式会社を立ち上げるにはどんな手続を踏めばいいのか簡素にまとめます。
起業の手続きは法律で決まってるものなので「起業 手続き」とかで調べて出てくるような情報をみればそのとおりなんですが、岩手で起業してみた実体験を元に解説をしてみようと思います。

なにをする会社か決めよう

「酒を作る」「酒を卸売する」「中古品を買い取って売る」「家を建てる」とか何をする会社か決めましょう。
このとき事業計画書とかも書ければいいですが、別に書かなくても会社は立ちます。
何をする会社かは、今すぐ始める事業はもちろんですが将来やりそうな事業も絶対明確にしましょう。
なぜなら事業を始める前に認可が必要な業種があるからです。
冒頭で例に出した商売はおそらくすべて認可が必要な業種です。

許認可が必要な業種

会社名を決めよう

楽しいところです。会社名を決めましょう。
会社名は、住所さえ違えばすでにある会社名とかぶっても大丈夫です。
でも、かぶらないほうがネットとかで検索しやすくていいです。
全国の会社名(称号)は以下で検索できます。
https://www.houjin-bangou.nta.go.jp/

会社名で使える字

ひらがな、カタカナ、漢字、ローマ字、アラビヤ数字
その他記号「&」「’」「,」「-」「.」「・」

ドメイン名を気にしてみる

必須ではないですが、やっぱりシンプルな自社ドメインほしいですよね。
例えば私の会社はDefios株式会社ですが、会社のHPのドメインはdefios.jpです。
もしdefios.jpを使っている人が他にいたら私はdefios.jpを使えていませんでした。
ですので、事前に自分の会社名でどんなドメインが空いているのか調べるのも会社名を選定する基準になるかもしれません。

自分の住所、個人証明書類を整える

とにかく役所手続きが増えるので、自分が今実際に住んでいる場所と住民票の住所が違う場合移転しましょう。そのほうがこのあと楽です。
個人の印鑑の印鑑登録をしておきましょう。
マイナンバーカードも発行しとくと何かと便利です。
免許証更新期間の人はちゃちゃっと更新しちゃいましょう。有効期限切れの免許証は個人証明書として使えなくなりますので。

登記場所(会社の住所)を確保する

会社を立てるには絶対会社に紐づく住所が必要です。
自宅の住所をそのまま使う(自宅を会社の本社所在地とする)事もできますが、アパートやマンション住みのひとなどは注意が必要です。
集合住宅によっては法人登記NGとしているところもありますので、契約内容を確認したり、大家さんや管理会社に確認したりしましょう。
また、自宅とは別に新たにオフィスを借りたり、店舗を建てる場合でも、会社を設立する前に契約を済ませておく必要があります。
ちなみに私は滝沢市IPU第2イノベーションセンターにオフィスを借りて登記しました。

www.tiic.jp

岩手大学岩手県立大学の学生は地域連携棟みたいなとこがあるので(コラボMIUやIPUイノベーションセンターなど)そこに相談するとすんなり見つかって、もしかしたら援助も受けられるかもしれません。
市町村の起業支援系の窓口があればそちらに相談するのもありです。

お金を用意する

よく、「会社は1円からでも立てられる」というフレーズを聞きますが、それは資本金の話であって、設立にかかる事務手続き費用は別です。
で、実際いくら必要かというと本やネット記事では約25~30万円と言われています。
私は実際 約23万円で最低限登記することはできました。
ただ、設立と同時にドメイン取ったり、ロゴ発注したり、名刺作ったりしてたら最終的にはちゃんと会社が立ち上がるまで約30万円使いました。
とりあえず最低限25万円くらいは事務手数料として用意したほうが良いかもしれません。
資本金はほんとに1円からでもいいので、好きなだけ用意しましょう。

出資比率を決める

基本的に資本金の出資比率が、設立時発行株式の比率にそのままなります。
1人で起業する場合、100%本人の株式になると思います。
2人以上で出資して起業する場合は少し考えなければいけません。
例えば2人なら50%:50%というふうに均等に株式を割っても構いませんが、
「意思決定の段階で2人の意見が割れた場合、株主総会の決議をすることができない」
「連絡の取れない取締役を解任することができない」
など、もしものときに困ることが多いので、代表者を1人決めてその人の比率が誰よりも高くなるようにするのが良いでしょう。
実際私の会社も代表取締役が2人いますが、株式比率は違います。

freee会社設立に登録する

めっちゃ大事です。これさえできてしまえばもうあとはfreeeに従って手続きをすすめるだけでしょう。
無料ですし、ほんとに設立完了まで必要な事務手続き費用以外は請求されないので安心して使いましょう。
freeeは会社経営の全てにおいて便利です。 www.freee.co.jp

法人の印鑑を注文する

いくら爆速で会社設立資料が作れても、会社の印鑑がないと手続きが進まなくなるので、なるべくこの段階で会社の印鑑を注文しちゃいます。
freee会社設立の画面からも注文できますし、自分ではんこ屋に注文してもいいでしょう。
必要なのは、会社印・代表印・銀行印の3つです。
f:id:T-takeda:20211225191840p:plain

freeeで設立に必要な書類を作る

あとはぽちぽち必要事項をfreeeに入力していくなんですが、悩みやすいポイントをいくつか解説します。

一株の価格・発行株数を決めましょう

株の価格、発行数は自由なんですが一般的に1株1万円にして、資本金÷1株価格=設立時発行株式数 で求められる設立時発行株式数の4倍を「発行可能株式総数」とする場合が多いようです。
が、私が設立したときは資本金が100万円と少額だったため1株1万円にすると、1株譲渡しただけで会社の1%の株式を保有されることになってしまいます。
もう少し柔軟に株式を分けられるようにしたかったので、1株の値段を1万円以下にしました。
「発行可能株式総数」も公開会社と非公開会社で決め方が違うのですが、今回の場合発行済株式の10倍でも100倍でも良いです。
株式の譲渡の承認者はとりあえず「代表取締役」でいいでしょう。

memo:発行可能株式総数が何株でもいい理由

公開会社呼ばれる会社(だれでも制限なしに好きなように株が買える)では「発行可能株式総数は発行済株式数の4倍まで」という制限があります。
非公開会社は特に発行可能株式総数に制限はないですが、上記の通例でなんとなく4倍とされています。
freeeでは非公開会社の定款しか基本的に出せない(というより設立直後の段階では、上場するわけでもないので、譲渡制限つけるのがほとんど)ので別に発行可能株式総数は何株にしてもいいです。

取締役会を設置するか

役員が3名以下 or よくわからない場合設置しなくていいです。
役員が何人でも設置義務はないです。
もし設置したい場合、取締役3名と監査役1名が最低限必要です。

役員の任期

基本的に2年で良いです。
役員は任期を迎えると強制的に退任となります。その後も役員を続けたい場合、再任の手続きをすることで継続できます。
めんどくさいと感じるかもしれませんが、むやみに長い任期を設定するのはあんまりよくないらしいです。
役員(取締役)の任期は何年にするべき?|GVA 法人登記

決算月

仕事が忙しくなさそうな時期であればいつでも良いです。
ただし、年末に設定すると年末調整と決算処理が重なって事務が死にます。

公告の掲載方法

お金はかかるけど「freee独自の電子公告サービス」が楽です。

大体最低限の手続き準備完了

実際に各窓口で手続きをするための準備がだいたい整いました。
ここからは実際に色んな人に書類を提出して会社と認めてもらう作業に入りますが、それはまた後日。では。