syuntoku14の進捗

進捗を書きなぐります

進捗(3/11)

<今日やったこと>
・新入生用のステッピングモータの説明と課題の試料の作成
新入生教育プログラム班長みたいなポジションを任されたのに仕事を完全に忘却していた。資料はMarxcoを使って書いた。vimはいいぞ、という気持ちになった。
ところで、バイポーラ用のステッピングモータドライバでなんかいいのないですかね?
DRV8825 ステッピングモータードライバ・モジュール - DRV8825 - ネット販売
これよさそうで購入して実験してみたところ、焼けたのかわからないが動かなくなってしまった。回路は焼けたのか焼けてないのかわかりづらくてやだ。

・ロギ研
NHK用の直線検出のデバッグ作業をしていた。直線は検出できる。直線は。
この間体育館でテストしてみたところ、障害物が多少入り込んでも認識していたので結構うれしい。
今日はデバッグ作業を電車でやっていたが、パソコンがでかいので電車でパソコンカタカタおたくムーブがなかなかやりづらい。

・ARCをやった
整数問題が出来なさ過ぎて全然できなかった。頭わるわる。整数関連の問題の練習をしたいところだが、そんなことやってるとロの人に殴られそう。
簡単そうな問題なのに全然できなかったので落ち込んだ。最近ネガティブ思考が続いているのでもっとポジティブに考えていきたいところ。整数問題出来なくても赤色の直線なら検出できるもんね!!

・Courseraの課題を提出した
今回はAutoEncoderの課題。
毎日pythonをたたいているわけではないので、どうもnumpyやKerasの使い方の覚えが悪い。

Decoderの部分にDenseレイヤを追加するのを忘れていて小一時間無駄にした。
AutoEncoderのKeras実装部分

def reset_tf_session():
    K.clear_session()
    tf.reset_default_graph()
    s = K.get_session()
    return s

def build_deep_autoencoder(img_shape, code_size):
    """PCA's deeper brother. See instructions above. Use `code_size` in layer definitions."""
    # encoder
    encoder = keras.models.Sequential()
    encoder.add(L.InputLayer(img_shape))
    encoder.add(L.Conv2D(filters=32,kernel_size=3,padding='same',activation='elu'))  
    encoder.add(L.MaxPool2D(pool_size=(2,2)))
    encoder.add(L.Conv2D(filters=64,kernel_size=3,padding='same',activation='elu'))  
    encoder.add(L.MaxPool2D(pool_size=(2,2)))
    encoder.add(L.Conv2D(filters=128,kernel_size=3,padding='same',activation='elu'))  
    encoder.add(L.MaxPool2D(pool_size=(2,2)))
    encoder.add(L.Conv2D(filters=256,kernel_size=3,padding='same',activation=None))  
    encoder.add(L.MaxPool2D(pool_size=(2,2)))
    encoder.add(L.Flatten())
    encoder.add(L.Dense(code_size,))
    
    # decoder
    decoder = keras.models.Sequential()
    decoder.add(L.InputLayer((code_size,)))
    decoder.add(L.Dense(1024))
    decoder.add(L.Reshape((2,2,256)))
    decoder.add(L.Conv2DTranspose(filters=128,kernel_size=3,strides=2,padding='same',activation='elu'))  
    decoder.add(L.Conv2DTranspose(filters=64,kernel_size=3,strides=2,padding='same',activation='elu'))  
    decoder.add(L.Conv2DTranspose(filters=32,kernel_size=3,strides=2,padding='same',activation='elu'))  
    decoder.add(L.Conv2DTranspose(filters=3,kernel_size=3,strides=2,padding='same',activation=None))  
    
    return encoder, decoder
    
s = reset_tf_session()

encoder, decoder = build_deep_autoencoder(IMG_SHAPE, code_size=32)

inp = L.Input(IMG_SHAPE)
code = encoder(inp)
reconstruction = decoder(code)

autoencoder = keras.models.Model(inputs=inp, outputs=reconstruction)
autoencoder.compile(optimizer="adamax", loss='mse')

autoencoder.fit(x=X_train, y=X_train, epochs=25,
                validation_data=[X_test, X_test],
                callbacks=[keras_utils.ModelSaveCallback(model_filename),
                           keras_utils.TqdmProgressCallback()],
                verbose=0,
                initial_epoch=last_finished_epoch or 0)
                
reconstruction_mse = autoencoder.evaluate(X_test, X_test, verbose=0)
print("Convolutional autoencoder MSE:", reconstruction_mse)
for i in range(5):
    img = X_test[i]
    visualize(img,encoder,decoder)

<明日やること>
・Coursera
NHKの進捗

今日は論文を読んでいない。よくない。読む。