クロの制作日記

Ubuntu16.04でのGPU関連の設定(Nvidiaドライバ・CUDA・cuDNN)

はじめに 前回の記事でつよつよPCにUbuntu16.04をインストールして、インターネット周りの設定などをしました。 www.kuroshum.com今回の記事では、Ubuntu16.04をインストールしたPCにNvidiaドライバ・CUDA・cuDNNをインストールする方法を紹介します。 準備 …

Ubuntu16.04のインストールとネットワークの設定

はじめに 研究室に新しくPCが納品されるたびに、私がUbuntuのインストールやGPU周りの設定をしています。ただ、作業内容を忘れてしまったり、他のメンバーにノウハウを共有できなかったりと色々と不便なので、今回一連の内容をメモすることにしました。ただ…

tf.functoinとtf.gatherを併用すると勾配が計算できない場合の対処法

最初に Tenosorflow2.0においてtf.functionでデコレートした関数の内部でtf.gatherを使用し、勾配を計算すると以下のようなエラーが出ました。 AssertionError: Expected all args to be Tensors or Variables; but got CompositeTensor エラーの原因 問題の…

Tensorflow2(subclassing API)でモデル・パラメータをsave(保存)・restore(復元)する方法

最初に ニューラルネットワーク(NN)において、学習を反復して行うことでNNの精度を向上させますが、あまり学習を反復させすぎると過学習が起こる可能性があります。そこで、過学習が起こる前、または最も精度が高い(何らかの評価指標において良い結果が出て…

tf.saved_model.load()でのTypeError: '_UserObject' object is not callable loadの対処法

以下のように学習を行ったモデルを読み込み、実行をしようとすると「TypeError: '_UserObject' object is not callable load」というエラーがでました。 学習と保存 class ClassifierModel(tf.keras.Model): # モデルのレイヤー定義 def __init__(self, **kw…

scikit-learnでデータをTrain・Test・Varidationに分割する方法

機械学習においてデータをTrain(学習)・Test(テスト)・Validation(検証)データに分割したい場合があると思いますが、scikit-learnの関数にはTrainとTestデータに分割するtrain_test_split()しかありません。言うてもそんなに難しい処理ではないので自分でコ…

C++で数字の文字列(区切り文字つき)をsplitする関数

最初に 某プログラムスキルチェックサイトで「3 19 2」のような、空白で数字が区切られている文字列が入力されることがありました。そんな場合でも各々の数字をint型として取得する関数を作成しましたので共有します。C++初心者ですので、あまりよろしくない…