クロの制作日記

クロの制作日記

田舎の大学生がUnityとか機械学習関連の制作物をひたすらアップします。ブログで紹介したコード一覧https://github.com/kuroshum/blog_code

初心者が頑張るゲームプログラミングC++の練習問題4

ゲームプログラミングC++ 練習問題の内容 練習問題の解答 個人的に詰まった箇所 Astarアルゴリズムの挙動 resize ステートマシン クラス図 最後に ゲームプログラミングC++ 以下の本でSDLとOpenGLを用いたC/C++ゲーム開発の勉強を進めています。ゲームプログ…

初心者が頑張るVim入門(基本の使い方とおすすめの拡張機能)

はじめに サーバー上での作業ではGUIを使うことができないことが多く、基本的にはCUI上で作業する必要があります。そこで、GUI上でしか作業したことがない人は、VScodeやatomなどのようなエディタが使えないことに戸惑うかもしれません。そこで、この記事で…

Linuxでユーザー追加・グループ作成・グループに追加の流れ

はじめに 私の所属している研究室では一つのサーバを複数人で共有して使っています。なので、研究室に学生が新しく入ったときに、サーバに人数分のユーザーを作成する必要があります。また、うちの研究室では他の人とファイルを共有するために、全員を同じグ…

初心者が頑張るTensorflow入門(実装解説編)

はじめに 前回の記事はこちら kurora-shumpei.hatenablog.com この記事では、前回の記事で解説した用語を元に、実際に、Tensorflowで簡単な線形回帰モデルを実装して、実装上に用いた関数などの説明を行います。また、本記事はTensorflow1.xの解説で、Tensor…

初心者が頑張るTensorflow入門(用語解説編)

はじめに 最近、機械学習や深層学習が広く知られるようになりました。それに加え、一部の専門的な知識を持った研究者やエンジニアだけでなく、専門外の学生や社会人の方々が「機械学習・深層学習を使ってこんな事をしてみた」といった試みをよくqitaやはてな…

二値分類における不均衡データへの対処方法~pAUC(partial AUC)最大化~

二値分類における評価指標に関する記事はこちら ↓ kurora-shumpei.hatenablog.com

numpy.linalg.LinAlgError: Last 2 dimensions of the array must be squareが起きる理由

研究室の後輩向けにpythonを用いた機械学習の講習を行っていたときに上記のエラーが起きたので、対処方法をエラー原因ごとに紹介します。

初心者が頑張るゲームプログラミングC++の練習問題3

ゲームプログラミングC++ 練習問題の内容 練習問題の解答 個人的に詰まった箇所 不安点 最後に ゲームプログラミングC++ 以下の本でSDLとOpenGLを用いたC/C++ゲーム開発の勉強を進めています。ゲームプログラミングC++各章には練習問題があるので、その問題…

初心者が頑張るゲームプログラミングC++の練習問題2

ゲームプログラミングC++ 練習問題の内容 練習問題の解答 個人的に詰まった箇所 コンポーネント指向 練習問題の指示内容 課題2.2 課題2.3 NULLとnullptr static_cast<> vectorのpush_backとemplace_back vectorの参照渡し 構造体のポインタ渡し csvファイル…

Gitでまとめて「git rm」 ・ 「git add」する方法

はじめに 大量にファイルやディレクトリを追加したり消去したりしたときに、ファイルごと、ディレクトリごとに一々「git add」とか「git rm」するのは面倒です。そこで、そういったことをまとめて処理するコマンドを記載しておきます。 コマンド まとめて「g…

過去に制作したゲーム紹介(黒洋館)

(adsbygoogle = window.adsbygoogle || []).push({}); 概要 青鬼、バイオハザード1を参考に、私(3年生)が主体となって4人グループで制作した2D脱出アクションゲームです。製作期間は3ヶ月くらい。↓ 黒洋館デモGIF class="figure-image figure-image-fotolife"…

過去に制作したゲーム紹介(AgentEmerge)

(adsbygoogle = window.adsbygoogle || []).push({}); 概要 エレベータアクションというゲームを参考に私が主体となって6人グループで制作したゲームです。制作期間は後輩の講習を含めて半年くらい。↓ 元ネタ動画 エレベーターアクション DELUXE↓ AgentEmerg…

初心者が頑張るゲームプログラミングC++の練習問題1

ゲームプログラミングC++ 以下の本でSDLとOpenGLを用いたC/C++ゲーム開発の勉強を進めています。ゲームプログラミングC++各章には練習問題があるので、その問題の私なりの解答コードと詰まった箇所をここに残しておきます。

初心者が頑張るゲームプログラミングC++の環境構築(SDL + SDL_image + OpenGL)

ゲームプログラミングC++ Githubリポジトリ 自分の開発環境 SDL SDL_image OpenGL Visual Studioでの設定とSDLを用いたサンプルプログラムのビルド プロジェクト作成 C++ファイルの作成 追加のインクルードディレクトリの設定 追加のライブラリディレクトリ…

二値分類における評価指標(混同行列・Precision・Recall・F値・ROC曲線・AUC)

はじめに 現在、大学で二値分類を扱う研究を進めています。その調査として、色々二値分類に関する知識が蓄えられたので、ここで放出しておきます。

0から始めるGitHub入門 第五回 (リモートリポジトリでの操作)

前回はブランチの概要と基本的な操作を学びました。 kurora-shumpei.hatenablog.com今回はついにリモートリポジトリ上での操作を説明していきます。

0から始めるGitHub入門 第四回 (ブランチの概要と基本的な操作)

前回はローカルリポジトリでの基本的な操作を行いました。 kurora-shumpei.hatenablog.com今回はGitの重要で便利な機能の一つである「ブランチ」の使い方を説明していきます。では早速始めていきましょう。

機械学習のニューラルネットワークを用いてワインの質を分類

はじめに 大学の機械学習に関する演習で、ニューラルネットワークを用いて好きな分類問題を解けといった課題が出されました。以下の記事でも言及しています。 kurora-shumpei.hatenablog.com今回はその課題で作成したニューラルネットワークの解説をしていき…

0から始めるGitHub入門 第三回 (ローカルリポジトリでの基本的な操作)

前回はリポジトリの作成とコードの公開を行いました。 kurora-shumpei.hatenablog.com今回からはGitHubというよりはGitの使い方の説明をしていきます。今回はGitの使い方の中でも特に基本中の基本の使い方を紹介していきます。では 早速始めていきましょう

0から始めるGitHub入門 第二回 (リポジトリの作成とコードの公開)

前回はGitHubの概要とアカウントの登録までを行いました。 kurora-shumpei.hatenablog.com今回は、実際にリポジトリ(GitHub上のプロジェクト)作成とコードの公開方法を解説していきます。では早速始めていきましょう。

0から始めるGitHub入門 第一回 (概要とアカウント登録)

最近、プログラマー界隈またはそれ以外でも「GitHub」という単語を見かけることが多いのではないかと思います。例えば、Microsoftが買収しただとか、日経が「GitHub」のことを「設計図共有サイト」として記事に記載しただとか、直近だとプライベートリポジト…

pythonのリストとnumpyのappendの速度比較

はじめに pythonで機械学習を行う際に、行列を作成するだとか、計算した重みや予測値を保存するだとかで、配列にappendすることが多いと思います。そこで気になるのが、リストのappendとnumpyのnp.appendで速度の違いがあるのかということです。

機械学習を実装する際のデータ前処理について(標準化編)

はじめに 最近、大学の演習でpythonを使ってニューラルネットワークを実装し、それを使用して好きなデータセットの分類を行うといったことをしました(というかさせられた...?)。その演習では、最終的に、その分類した結果や過程をプレゼンで発表しないといけ…

pythonでsingular matrixが起きる理由

問題 pythonのnumpyで逆行列を求めようとしたときに numpy.linalg.linalg.LinAlgError : Singular matrix といったエラーが出てきました。(実際はもうちょっと長いですが最後だけ切り出してきました)

自分的Trelloのおすすめの使い方(個人向け)

前書き Trelloとは 使い方 TDD方式 拡張版TDD方式 TODO ー> タスクの種類ごとに用意 DOING -> DOING・DOING URGENT DONE ー> 月ごとに用意 Chrome拡張機能 Elegantt Card Colors for Trello Card Color Titles for Trello Next Step for Trello 最後に (…

UnityのTime.timeScaleが与える影響

ゲームに必要な機能の一つとしてPause機能(一時停止)があります。UnityではTime.timeScaleの値を0にするとその機能を実装できます。とても簡単で楽なのですが、今回の記事ではTime.timeScaleを0にすることで起きる現象について言及していきます。

RuntimeWarning: numpy.dtype size changed が起きる理由

エラー内容 python3で numpyとpamdasを一緒に実行しようすると /usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88 return f(*args, **kwds) といった…

Unityで無限ループ型の武器選択UIを実装(アニメーション不使用)

前置き 現在、洋館(初代バイオハザードみたいな)を探索して鍵を見つけて脱出する、といったゲームを制作しています。そこで、仕様として、 ①洋館内に落ちている武器を拾ってそれを装備する ②装備の変更する といった機能 を実装することになりました。装備を…

Unityで選択されているボタンのテキストを点滅 + 簡単なエフェクトを追加

前置き 前回の記事でテキストの点滅を実装しました。 kurora-shumpei.hatenablog.com この記事では単純に、 ゲームを再生したら画面が遷移するまで点滅し続ける だけでした。今回はこの記事の続きで、 ① 選択されているボタンのテキストの点滅 ② 簡単なエフ…

Unityでテキストの点滅を実装(TextMeshPro)

前置き ゲームのタイトル画面を作っている時に色々なゲームのUIを調べていたんですが、多くのゲームで、そのUI(ボタンとか)を選択しているときは、文字やそのUI自体が点滅していることに気が付きました。確かに点滅させると、自分が選択しているのが理解しや…