やりたいこと ディープラーニングで日経平均を予測したい 簡単にディープラーニングを体験したい 方法 ディープラーニングの手法は、時系列データの取扱に優れたLSTMを使用 コードが簡単な、TensorFlow + Kerasで実装 環境 Windows 10 64bit TensorFlow + Keras 環境構築はこちら→ Windowsで簡単にAI開発の環境構築<人工知能を体験したい人向け> ディープラーニングの実装 日経平均株価のデータ取得 ダウンロードセンターより、日経平均株価のCSVをダウンロード https://indexes.nikkei.co.jp/nkave/index?type=download そのままではデータを取り込めなかったので、前処理として下記の処理を行う - 1行目は、date, close, open, high, low と書き換える - 最終行の日本語
PC向けのOSを動かすにも十分な性能を持つ ARMの64bitアーキテクチャ 詳しい話の前にARMの64bit版について簡単に確認しておく。ARMの64bitアーキテクチャは、ARMv8と呼ばれている。 これに対して32bitアーキテクチャはARMv7である。ただしARMv8は、32bitアーキテクチャを含んでいる。このため、ARMv8の64bitアーキテクチャ部分はAArch64、同32bitアーキテクチャは、AArch32と呼ばれる。AArchは「ARM Architecture」の略で、ARMv8は64bitアーキテクチャモードと32bitアーキテクチャモードを持ち、64bitアーキテクチャモードでは、32bitアーキテクチャの機械語命令を実行する32bitモードが利用できる。このあたりはインテルの64bitプロセッサと同じだ。 AArch64とAArch32は、命令セットが完全に異
Photo by Jacob Munk-Stander 秋山です。 タイトルのとおり、Python3で巨大な浮動小数計算をした時の計算結果についての話です。 例えば、 11 × ÷ 10 という計算式があったとしましょう。 普通に人力で単純に計算しようと思ったら、10の23乗を計算して、それから11を掛けて…という手順になるかと思いますが、10の23乗の時点で 100000000000000000000000 という大きな数になってしまい(ちなみに千垓です。垓は万・億・兆・京の次になります)非常にわかりづらいですね。 これぐらいの桁数の数になってくると、プログラミングでもいわゆる32bitの整数型では表現することができません。64bit整数でも足りないので、128bit整数でやっと表現できるようになります。 私は普段paizaのスキルチェック問題の制作を担当していて、自分でもいろいろな問題
この記事は自分用の備忘録です。解説用ではないです 追記2: 結果だけ先に発表すると、OpenCVが約16ms、C++ with asmが約3msまで高速化されました。最後のコメント欄まで読んでいただければと思います。 きっかけ カメラから画像を取得して、それを反転させて表示するプログラムを開発しています。 画像の反転をOpenCVを使っているのですが、画素数が大きいのでもう少しなんとか早くならないものかと、取り組んでみました。 残念ながら、私が使っているデバイスのCPUは、OpenCLをサポートしていない、ので、GPUにデータを乗っける方法が使えないのです。 使えたら、OpenCV3で、高速化してしまうんですけどね。 ということで、イバラの道としりながら、アセンブリ言語に進んでいきます。 NEON命令 NEON命令とは、arm系CPUにおいて、1命令で複数データをまとめて処理できる命令だそ
TL;DR 自動インストールでインストールされるJDKのアーキテクチャは、各Nodeを登録するために起動するslave.jarのJREのアーキテクチャだよ Jenkinsのソースコードは構造のバランスがいい Jenkinsは週次リリースできるソフトウェアのアーキテクチャを学ぶ題材として最適 きっかけ Jenkinsの便利な機能に、JDKの自動インストールがある。プロジェクトに利用するJDKを設定すれば、実行するノードに自動でJDKをインストールしてくれる、という素晴らしい機能だ。WindowsやLinuxだと32bit、64bitのJDKが配布されているので、どうやってインストールするJDKを判定してるんだろう、と思ってコードを読み始めた。 ゴール 自動インストールを実装しているクラスを見つけ、どのように実装されているか理解すること 実装クラスを見つける 実装を見つけるときは、ログを出力し
System call conversion for year 2038 [LWN.net] lwn.netでLinuxカーネルを2038年問題に対応させるにはという記事が公開されている。 32bit版Linuxカーネルのtime_tはsigned 32 bitなので、現行の32bit版Linuxカーネルをそのまま使い続けるシステムは、2038年問題の影響を受ける。 問題の日付が近づくにつれ、32bitシステムは様々な楽しげな理由により障害を起こすことが予測されるので、今日のLWN読者は、退職から呼び戻されて、紀南を救うために英雄的な活躍をするだろう。今対策をしなければの話だが。 さて、32bit Linuxカーネルでも、time_tなどの時間の表現に64bitの値を使えば2038年問題は解決できるか。実は、問題はそれほど単純ではない。 カーネル内部の時間表現を64bitに移行するだけでは
MySQLのバージョン インストールされたMySQLのバージョンは以下のようになります。 名前 バージョン ダウンロード元 my.cnfサンプル 以下のサンプルを参照して、my.cnfファイルを作成してください。 # このファイルは MySQL 5.6を基準として作られてあります。 # http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html を参照しました。 [mysqld] ##-------------------------------------------------------------------- # mysqldの基本設定 ##-------------------------------------------------------------------- # id は 1 から 2^
ループカウンタを64bitにしたり、 バッファのサイズを定数にしたらパフォーマンス激落ちなんだけど何で? c++ - Replacing 32bit loop count variable with 64bit introduces crazy performance deviations - Stack Overflow stackoverflowで、興味深い質問が行われている。 簡単にまとめるとこうだ。std::uint64_t型の配列の各要素にx86-64のpopcnt(1になっているビット数を数える命令)を適用したい。 コードの肝心の部分を書くと、以下のようになる。 for (unsigned i=0;i<size/8;i+=4) { count+=_mm_popcnt_u64(buffer[i]); count+=_mm_popcnt_u64(buffer[i+1]); coun
この連載は、Javaをいきなりやることになってしまった新卒の人や、Java以外の言語の使用経験しかない人など、Javaの初心者なのに業務アプリ(ビジネスで使われるアプリケーション)の開発で即戦力にならないといけない人達に向けての連載になります。標準のJavaでできることはもちろん、DB操作のためのSQLやよく使われるライブラリの使い方など、単なるJavaのみの紹介ではなく、Javaでの業務アプリの開発に必要とされる基礎知識全般について連載を通じて学んでいくことを目的としています。 はじめに 今回の記事では、Java(ジャバ)で業務アプリを開発するための開発環境の構築を行います。また、Javaのアプリケーションの開発では統合開発環境(IDE)を使って作業することがほとんどです。統合開発環境とはアプリケーションの開発をサポートする環境で、この連載では多くの現場で使われているEclipse(エク
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く