電脳ヨーグルト(技術ブログ)

勉強したことを淡々とメモしていきます

Python(CGI)で作った簡易単語検索アプリ

CGI (Common Gateway Interface) を用いることで、Webサーバー側でプログラムを動かすことができます。 cgi-binディレクトリを含んだディレクトリ上でpython3-m http.server --cgi 8xxxと実行することでPythonの簡易Webサーバが起動し、ブラウザからプログラ…

指定したビットの状態を調べ、値をセットする関数

指定したビットの状態を調べるGetBit関数と指定したビットの値を変更するSetBit関数を作りました。 GetBit関数 0~255までの10進数を8ビットの2進数の文字列に変換し、そのビットの状態を調べる関数。 n番目のビットが1だったらTRUE n番目のビットが0だった…

与えられた数字を10進、16進、2進の文字列に変換してchar配列に格納する関数

任意の数字を10進、16進、2進の文字列に変換してchar配列に格納する関数を作りました。3つの関数は与えられら数字をそれぞれ10進数、16進数、2進数の文字列に変換します。プログラムの中で+48や+55という数字が出てきますが、それは数字を文字列に変換するた…

【C言語】配列の要素の和を返却する関数

配列data_arrayのすべての要素の和を返す関数です。 # define STR_SIZE (30) # include <stdio.h> /* 関数宣言 */ long GetTotal(long * dataArray, unsigned long dataCount); /* 関数定義 */ long GetTotal(long * dataArray, unsigned long dataCount){ int i; int</stdio.h>…

【C言語】2つの文字列を連結する関数

2つの文字列を連結する関数です。 コンソールで入力した2つの文字列を引数にして、関数内で連結した文字列を出力します。 define STR_SIZE (30) # include <stdio.h> /* 関数宣言 */ void CatString(char * str1, char * str2); /* 関数定義 */ void CatString(char *</stdio.h>…

【C言語】文字列の長さを返す関数

コンソールで入力した文字列の長さを返す関数です。 #include <stdio.h> /* 関数宣言 */ unsigned long GetStringLength(char * str); /* 関数定義 */ unsigned long GetStringLength(char * str){ int i; for (i = 0; str[i] != '\0'; i++); return i; } int main(vo</stdio.h>…

OSI参照モデルとは

OSI参照モデルについて簡単にまとめると・・・・コンピュータの持つべき通信機能を階層構造に分割したモデル!・通信機能を7つの階層に分けて定義している! OSI参照モデルってなんですか?OSI参照モデルっていうのは、通信に必要な機能を7つの階層に分けて…

プロトコルとは

プロトコルについて簡単にまとめると・・・・ネットワーク上でコンピュータが相互に通信するために必要な「約束事」を定めたもの!・通信するコンピュータのメーカーや機種が異なっていてもプロトコルが同じなら通信できる! プロトコルってなんですか?プロ…

2つの文字列の編集距離を求める関数

こんにちは電脳ヨーグルト(@q0x2tv1)です。今回は編集距離について書いていきます。2つの文字列がどの程度異なっているのかを調べる基準として編集距離というものがあります。具体的には1文字の挿入・削除・置換によって、一方の文字列をもう一方の文字列に…

プリエンプションとは

こんにちは電脳ヨーグルト(@q0x2tv1)です。今回はプリエンプションとは何かについてざっくり書きました。 たまに本とかで見るプリエンプションってなんですか?ああ、プリエンプションってのは、コンピュータが実行中のタスクを一時的に中断することだなそん…

【C言語】配列ソートの関数の処理速度を比べてみる

こんにちは電脳ヨーグルト(@q0x2tv1)です。今回は配列ソートの関数の処理速度について調べてみました。 数字がランダムに入ってある配列を先頭から小さい順に並べ替える(昇順ソート)をしました。昇順ソートのアルゴリズムは色々あるのですが、アルゴリズム…

参照局所性とはなにか

こんにちは電脳ヨーグルト(@q0x2tv1)です。 今回はメモリアクセスにおける参照局所性とは何かについてざっくり書いていきます。 参照局所性とは 参照局所性ってなんですか? 参照局所性ってのは「あるプログラムがアクセスする命令やデータのアドレスは特定…

サブルーチンとはなにか

こんにちは電脳ヨーグルト(@q0x2tv1)です。 今回はサブルーチン化とは何かについてざっくり書いていきます。 サブルーチンとは サブルーチンってなんですか?たまに聞くけどよくわからなくって・・・ サブルーチンっていうのは、まあ平たく言えば関数のこと…

書きなぐりnumpy、scipy、pandas、matplotlib

Numpy 配列作成はnp.array([1,2,3,4]) データ型.dtype 次元数.ndim 要素数.size Numpyで乱数を発生させる。 random.seed(0) #正規分布(平均0,分散1)の乱数を10個発生 norm_random_sample_data = random.randn(10) random.choice(norm_random_sample_data,10)…

Numpyの次元の追加と入れ替え

画像をnumpy配列にしたい Numpyの次元の追加と入れ替え 次元の追加 追加したいデータが入った変数[np.newaxis, :, :] 一次元追加 x.shapeが(3,5)だったら x = x[np.newaxis, :, :]を入力すると x.shapeは(1,3,5)になる 入れ替え 入れ替えたいデータが入った…

sys.argについて

sys.argとは sys.argv[0]はスクリプトファイル名 argvs = sys.argv #コマンドライン引数を格納したリストの取得 argc = len(argvs) # 引数の個数 例えば python example.py test.txt help abc を実行したとき print (argvs) print (argc) >>[‘example.py’,’t…

東大の松尾研究室が出した無償の演習コンテンツ

東大の松尾豊准教授の研究室がデータサイエンティストを目指す人に向けて、機械学習に関する講義内容を無償公開されました。 以下のホームページでファイルのダウンロードができます。 グローバル消費インテリジェンス寄附講座演習コンテンツ 公開ページ | …

pythonのlenとrangeとrandom

リストからランダムに一つのの要素を取り出す import random random.choice(リスト)で一つの要素を返す。 Ex. target = [1,2,3,4,5] print(random.choice(target)) 実行 >>3 range()関数for文とよく使う Ex. for a in range(3) print(“A”) >>AAA len()関数は…

numpyのuniformとreshape

uniform random.uniform(low,high) low以上high未満の一様乱数を1個生成 np.random.uniform(low, high,size) low以上high未満の一様乱数をsize個の配列を生成 Ex. np.random.uniform(-1, 1, 100)の場合、 -1以上1未満の一様乱数を100個生成 [0.323, 0.313, 0…

GANで生成した画像をベクトル化するVevtorizer実装

VEVTORIZER実装続き エラー AttributeError: 'VectorizerUpdater' object has no attribute 'vec_optimizer' vec_optimizerではなくget_optimizer修正 エラー TypeError: 'type' object cannot be interpreted as an integer z = Variable(xp.asarray(gen.ma…

pythonのクラスとインスタンスについて

クラスとインスタンス passは何も処理がないことを表す クラスとは設計図のことで、クラスを実際に使えるものとして変換したものをインスタンスという。 インスタンスはクラス()とすることで生成できる。 クラスの中で定義した関数をメソッドと呼ぶ。 メソ…

DCGANのモデルの層の数を変更してtestしてみる。

GANで生成する画像の精度を上げるために、DCGANのモデルの層の数を変更する。 Generatorの方 畳み込みを1層増やしてself.dc5までにするself.bn4も追加。 追加した畳み込み層に対応する活性化関数(Lelu)を追加する。 そのまま畳み込み層を増やしただけだと生…

学習済みGeneraterのテスト

DCGANで学習させたGeneraterを用いてtestすることが目的 python test3.py –g 0 –i mimosa2_0001 -m__history/mimosa_0001/gen_iter_131250.npzで実行した。 エラー文 ValueError: numpy and cupy must not be used together type(W):<class ‘cupy.core.ndarray’ >, type(x):<class ‘numpy.ndarray’> Wとxの型が違</class></class>…