2020-03-01から1ヶ月間の記事一覧

Azure上に ASP.NET Core アプリをデプロイする方法

ASP.NET Core アプリを作成したのはいいのですが、Webサーバを自分で用意するのは大変なので、クラウドサービスを利用することにしました。大変な部分はサーバを安定して運用していくためにメンテナンスが必要だったり、セキュリティ対策をしっかりする必要…

AIきりたんの凄さと将来

最近何かと話題なAIですが、私はその中でも「AIきりたん」について取り上げたいと思います。 AIきりたん AIきりたんはニューラルネットワークの技術を用いたボーカロイドです。詳しくはこちらのページに書かれています。 n3utrino.work ソフトウェアは無料で…

【C#】Uno Platformを使ってみた

1. Uno Platform Uno Platform は Windows, iOS, Android, Web 上で動くアプリケーションを開発できるクロスプラットフォームです。 platform.uno Xamarinと似ていますが、いくつか違う点があります。一番はUWP/WPFと同じような形式でXAMLが書けることです。…

Javaは分からないけどマイクラMODを作りたい #7 AIを作る

前回はもともと定義されているAIの機能をいじりましたが、今回からは自分でAIを作っていきます。 1. EntityAIBase を継承する LittleMaidMob のカスタムAIを見てみると、どうやら EntityAIBase を継承しているようです。これを参考にAIを作ってみたいと思い…

Javaは分からないけどマイクラMODを作りたい #6 村人AIをいじってみる

前回 EntityPlayer を継承して痛い目に合ったので、今回からは村人ベースで進めていこうと思います。機能はたくさん必要になると思いますが、仕方ないですね。 1. EntityVillager クラスを見てみる まず目についたのは村人の行動パターンメソッド、すなわちA…

Javaは分からないけどマイクラMODを作りたい #5 EntityPlayer を継承すると描画クラスでエラーが起こる話

今回から人間ユニットの動作部分(機能部分)の製作に当たります。今後、動作部分のことをAIと呼びます。AIを作る際には entity ディレクトリ内に ai というディレクトリを作成し、その中に書いていきます。 1. ディレクトリ構成の確認 まず、今までに作って…

Javaは分からないけどマイクラMODを作りたい #4 Enitity にて継承するクラスを知りたい

いままで村人ベースに作成していましたが、今回からはプレイヤーをベースに作っていきたいと考えています。Minecraftにて人間もどきを作り、サバイバルできるかを試します。システムと Entity に関する動作を知る必要があるので、時間がかかりそうです。 目…

Javaは分からないけどマイクラMODを作りたい #3 村人スキンを変える

前回、Entity の登録と村人を継承した機能を実装しました。実行してみましたがまさかのエラー。コンパイルは成功しているのでソースコード自体に問題はないようですが...。 1. エラーログを見る こんな一文を見つけたのでエラーログを確認しに行きます。VSCo…

Javaは分からないけどマイクラMODを作りたい #2 村人もどきをつくる

アイテムやブロックなどの追加からやるべきかと思いましたが、Mob を作っているような記事をあまり見かけなかったので、Mobを作ることに挑戦します。 1. MobじゃなくてEntityらしい マイクラにはたくさんの生物がいますね。村人や狼、モンスターからネコなど…

Javaは分からないけどマイクラMODを作りたい #1 Mod名変更と基礎について

以前、「VSCodeでマイクラMOD開発をしたい」というタイトルで環境を整えたのですが、その続編みたいな感じです。今回から「Javaは分からないけどマイクラMODを作りたい」というタイトルに変更して記載していきます。 はじめに このシリーズは開発日記なので…

【C#】Minecraft自動化 #8 プレイヤー自動操作

久しぶりの自動化です。今回はコマンドを投げるわけではなく、プレイヤー自身を動かすためのプログラムを書きます。 実行環境 .NET Framework 4.6 コンソールアプリケーション Minecraft 1.12.2 Forge 1. ウィンドウのアクティブ化 まずは起動しているウィン…

【C#】マイクラのプロセス名がMinecraftではなかった話

マイクラ自動化をするにあたり、プロセスに干渉して自動操作みたいなことができないかを試したくて、プロセス名を取得してみたら意外な結果を得られました。 実行環境 .NET Core 3.1 コンソールアプリケーション Minecraft 1.12.2 1. プロセスの取得 プロセ…

【C#】画素ごとの輝度を得て、テキスト形式で保存する

機械学習や画像処理にて解析を行う際には、画像を数値化しなければなりません。今回は手書き数字の画像の輝度情報を読み取り、テキストファイルにして保存する方法をメモります。 実行環境 この環境でやってみました。特別なライブラリは使用していません。 …

【C#】深層学習入門 #8 損失関数とミニバッチ学習法

ニューラルネットワークの性能を示すのに損失関数を使用します。最近では交差エントロピー誤差(クロスエントロピー)がよく用いられているようです。また、学習するための手法にミニバッチ学習法があります。大量の訓練データの中で無作為に選んで学習を行…

【C#】深層学習入門 #7 学習データを用意する

手書き数字認識をやるためにMNISTのデータセットを用いますが、画像ファイルではなく特殊なファイル形式であるため、TensorFlowなどのライブラリが必要です。また、Python用として提供されているためC#でやるには自作する必要があります。今回はMNISTを使用…

【C#】深層学習入門 #6 出力層の設計

ニューラルネットワークでは解を得る際に確率として得たいときがあります。これはソフトマックス関数を用いることによって解決できます。ソフトマックス関数は中間層よりも出力層に対して有効であり、指数関数を用いることで数値自体をいじらずに表現をシフ…

【C#】行列の積を計算する

行列の積はいろんなところで使えるので、練習がてら実装してみます。 1. 行列と型 行列は数字や文字を羅列したもので、行と列に並べて表現します。 例えば図の例では「3行3列の行列」といいます。行列式という言葉もありますが、行列とは違うモノです。 他に…

VSCodeでマイクラMOD開発をしたい #2 MODの名称を変える

前回の続きです。サンプルMODのままではオリジナリティがなくて残念なので、色々自分仕様に変えていきます。まずはMOD情報をいじるところから始めていきます。 1. パッケージ名を変える まずはJavaのパッケージ名を変えましょう。デフォルトでは com.example…