039 テンソルフロー

 宿のベッドで次に何をしようか考える。


「そういえば、パイソンのスキルレベルが上がったんだよな。次はどんな能力なんだ? パイソン」


 パイソンの書を開く。まずはパイソンLV7の説明を確認することにした。


『テンソルフローを使用出来る』と書かれている。


「テンソルフローって何だ?」


 説明を読み進める。『テンソルフローは学習と自動認識を行うことが出来る』と書かれていた。


「よく分からないな。明日、坑道で実際に試してみるか」



 次の日、俺はダークドワーフ坑道に向かった。


「この辺りでいいか」


 炭鉱夫が来ない深い場所まで来た。


「パイソン」


 パイソンの書を開き、呪文の例を参考に書き込んでいく。


「まずはテンソルフローの学習というやつを試してみるか」


−−−−−−−−−−−−−−−−−−−−−−−−−−


import tensorflow as tf

from tensorflow import keras


def create_model():

  model = tf.keras.models.Sequential([

    keras.layers.Dense(512, activation='relu', input_shape=(784,)),

    keras.layers.Dense(128, activation='relu'),

    keras.layers.Dropout(0.2),

    keras.layers.Dense(10, activation='softmax')

  ])

 

  model.compile(optimizer='adam',

  loss='sparse_categorical_crossentropy',

  metrics=['accuracy'])


  return model

 

 

(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()

 

train_labels = train_labels[:1000]

test_labels = test_labels[:1000]

 

train_images = train_images[:1000].reshape(-1, 28 * 28) / 255.0

test_images = test_images[:1000].reshape(-1, 28 * 28) / 255.0


model = create_model()

model.fit(train_images, train_labels, epochs=10)

model.save('my_model.h5')

# これは機械学習の初歩「MNIST」のサンプルプログラムです。


−−−−−−−−−−−−−−−−−−−−−−−−−−


「これでいいのか? ……学習実行!」


 パイソンの書のスキル説明では、学習させたい敵と戦えと書かれていたな。適当に探索してブラッドバット、ジャイアントワーム、鉄爪モグラを倒して歩いた。


「学習とやらはこのくらいでいいか。で、次は自動認識だな」


−−−−−−−−−−−−−−−−−−−−−−−−−−


import tensorflow as tf


(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()

train_labels = train_labels[:1000]

test_labels = test_labels[:1000]

 

train_images = train_images[:1000].reshape(-1, 28 * 28) / 255.0

test_images = test_images[:1000].reshape(-1, 28 * 28) / 255.0

 

# 学習したモデルを読み込む

new_model = tf.keras.models.load_model('my_model.h5')


# 予測(分類)

results = new_model.predict_classes( test_images[:20] )

print(results)


answer = test_labels[:20]

print(answer)

print(answer == results)

if answer == results:

fireball = new Fireball

fireball.shot()


 −−−−−−−−−−−−−−−−−−−−−−−−−−


「これで、さっき戦ったモンスターを自動で認識してファイアーボールを撃ってくれるのか?」


 実際に試してみることにした。目の前にブラッドバットが現れる。


 パイソンの書が手から浮き上がり、ブラッドバットにファイアーボールを撃ち込んだ。ブラッドバットは大爆発に巻き込まれて息絶えた。


「ふむ、これはもしかして俺の意識がない状態でも同じように迎撃してくれるのか?」


 俺はその場で目を閉じて、モンスターが来るのを待った。ブラッドバットは大抵群れで飛んでくるからだ。少し待つとブラッドバットの羽音が近づいてきた。


 直後、爆発音が響き渡る。ビンゴだ。しかも、MPも減っていない。これは凄いスキルだ。


 そう、例えば寝ている間もモンスターを狩り続けて経験値を得ることが出来るということである。


「よーし、今日から1ヶ月間は侵入禁止エリアでレベルアップし続けてやるぞ!」


 新たに得た能力、テンソルフローを使って24時間戦い続けることが可能になった。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る