ソフトウェア開発の今に焦点を当て,実践で活きる本物の事例をまとめた入門書。第一線の開発者による全面書き下ろし。 AIを筆頭に,機械学習/深層学習分野の勢いは加速する一方です。そんななか,多岐にわたる実行環境,モデル学習や推論の段階で異なる特性を持つ各成果物,精度と性能,多種多様な大規模データ処理など,今の機械学習システムの開発は,従来のソフトウェア開発とは異なる面を持ち合わせています。 本書では,そんな「機械学習時代のソフトウェア開発」にスポットを当て,とくに注目度の高いゲームアプリ,大規模インフラ,エッジの三つの切り口で技術情報を徹底解説。合わせて,気になる開発環境例も盛り込みました。時代へ適応し技術力の進化を遂げたい,そんな開発者の方々に向けて,機械学習を取り込んだシステムの全体像から実用的な開発テクニックまで,これまでと大きく変わる部分,意外と変わらない部分が見えてくる技術情報満載で
+ "", "0", [], [0], [1], 0, 1 のうち、 bool(obj) が True になるのはどれか? + True, False, None との比較に == ではなく is を使うことが推奨されるのはなぜか? + s = 'foo'; t = 'foo'; print s is t; の結果が未定義なのはなぜか? + [[0] for i in range(3)] と、 [[0]] * 3 の違いは何か? + なぜタプルは辞書のキーにできてリストはできないのか? + for line in fileobj: と for line in fileobj.readlines(): の違いは何か? + try 文の except 節で、 except: と書いた場合と except Exception: と書いた場合の違いを説明せよ。 + try 文の else 節がある
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonの生みの親Guidoパパのブログエントリを翻訳してみました。「Why explicit self has to stay - なぜPythonのメソッド引数に明示的にselfと書くのか」。Pythonのメソッド引数に書く「self」はしばしば,他言語からのPython移民を中心に「ウザイ」「キモイ」「消えてなくなれ」と攻撃の対象となることが多いのです。GuidoパパはPythonが生まれて10年,もう何度も似たようなことを聞かされ,そのたびに明快な反論を行ってきました。言語の設計者には,技術的な素養はもちろんのこと,情熱と根気,そして我慢強さが必要なんだなあとつくづく思い知
python での行列・ベクトル数値計算 python で行列ベクトル演算が可能です。でも、実際に行列ベクトル計算をしようとしたとき戸惑わされました。python での行列ベクトル演算について手頃な解説がありませんでした。コード例も殆どなく、試行錯誤で使う必要がありました。回り道をしました。特に Matrix と array の使い分けに戸惑いました。結論は「慣れるまでは Matrix を使わずに array の範囲だけで使っとけ。」です。慣れた後でも Matrix を使うメリットは限られます。array だけで済ましたほうが余分なことを考えずに済みます。 このような遠回りをすることなく python での数値計算を手っ取り早く始められるようにように、この Web page を書きました。C 言語や数値計算についての素養はあるが python は使い始めの方、早急に行列 ベクトル演算を行う
いくつかの落とし穴をよければ意外と簡単だったので、 この文章を必要としている誰かのために整理してみることにします。 追記: おびなたのはてな日記 - distutils with boost.pythonで詳しく説明されているように、C++とBoostを使うともっと楽になるようです。近いうちに試してみます。 また、 Cybozu Developer Network: Python調査報告 (2006/10) によれば 「PEAKの setuptools は distutils の拡張で(中略)distutils の上位互換であるため、setuptools を使用しない理由はありません。積極的に使用しましょう。」とのことなのでこちらも試してみたいと思います。 Cのコードを用意する 書き換えるべき所を明確にするために、 [[MODULE_NAME]]というように表記しました。 同じ名前の括弧に
[Home] [Setting up Mac OS X] [Python]: [ファイルを読む] 日本語を使う Pythonで日本語を使う Python 2.4以降では、標準で日本語を扱うことができます。 PythonのソースコードをUTF-8で書くには 日本語を扱うPythonのスクリプトの中では、UTF-8の文字コードを使うのが 楽です。 Mac OS Xのターミナルで日本語を扱う場合は、 ここの「4. Terminalの設定を変える」の 指示に従ってください。 以下、ソースコードの簡単な例を示します。 #!/usr/bin/env python # -*- coding: utf-8 -*- import re jtext = u'子猫が隠れんぼをしています' print 'jtext has', len(jtext), 'Japanese characters.' if re.se
Steve Yegge / 青木靖 訳 2004年9月 これは駆け足の言語案内だ — Amazon Developers Journalのために今月書いていたのだが、どうもこれを見苦しくないようにする方法を見つけられなかった・・・。 ひとつには、私はどうも粗野で口汚くなりがちで、オフィシャルな趣のあるAmazonの出版物に載せるのは不適切に思えた。それでかわりに誰も読まない自分のブログに押し込めてしまうことにした。読んでるのはあなたくらいのものだよ。どうも! もうひとつ言うと、これは本当に書きかけのものであり、そこかしこの断片を集めたものでしかない。全然磨き上げられていない。これもブログエントリにする理由になっている。ブログなら別に良質である必要も完全である必要もない。単に私が今日考えたことというだけのものだ。ではお楽しみを! この駆け足の案内では、C、C++、Lisp、Java、Perl
Last Modified: Wed Oct 26 01:47:00 EDT 2005 (10/26, 14:47 JST) [English] 概要 unagi.py は緩く結合されたクラスタ環境のためのシステム監視ツールです。 これは複数のユーザがクラスタ上でさまざまなプログラムを走らせるときに、 各マシンの使用状況を報告することによって、ユーザが協力してそのマシン資源を 有効利用できるようにします。このプログラムはクラスタ上のすべてのマシンで走り、 システム情報を共有します。これはまた簡単な HTTP サーバとしての機能も そなえており、ユーザは状況報告をブラウザ上で見ることができます。 注意: unagi.py は公開用のサーバで走ることを意図してつくられては *いません*。 セキュリティ上の理由から、マシンの状態を外部のユーザに見せるべきではありません。 11マシンからなるクラス
OAuth 調べてみたら難しくて理解出来なかったので, Python で標準ライブラリだけで 1 から書いてみました. / \ / _ノ ヽ、_ \ / o゚((●)) ((●))゚o \ twitter の OAuth 難しいお… | (__人__)' | \ `⌒´ / ____ /⌒ ⌒\ /( ●) (●)\ /::::::⌒(__人__)⌒::::: \ だからやる夫でやるお! | |r┬-| | \ `ー'´ / Python のサンプルコードを付けていますが, 上から順に読めるようにおもいっきり手続き型で書いています. コメントで実際の処理の説明を書いています. Consumer Key と Consumer Secret の入手 / ̄ ̄\ / u \ .____ |:
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー いやー,multiprocessingモジュールイイよ。パねえよ。要はプロセス間通信を行うときに便利なパッケージで,threadingと似たようなAPIなのでGILが回避できてマルチプロセッサとかマルチコアの性能を有効に使えてウハウハとか,リモートマシンにあるプロセスと通信したりオブジェクトをやりとりしたりできてウハウハとか,まあそういうモノです。これでおっきしない奴は技術者として大切な資質を失っていると思うよ。べつにおっきしなくてもいいんだけど,そういう奴とは一緒に仕事したくないよ。 ドキュメントのイントロダクションを超訳してみたです。 はじめに multiprocessingはth
Pythonのお勉強を兼ねて、先日 Cで書いた C言語でprefork型のデーモンを書く(3): デーモン化 - Sleepless geek in Seattle をPythonに移植してみた。 条件分岐、ループ、関数定義、ファイル操作、fork、wait、シグナルハンドラ、連想配列、などなど短いプログラムだけど、いろいろな要素が入っているのでなかなか良いサンプルになった。 #!/usr/bin/env python import os import sys import signal import time MAX_CHILDREN=16 PID_FILE='/var/run/my_prefork_daemon.pid' hash_children={} def main(): #デーモン化 daemonize() #プロセスIDを書いておく write_pid() #シグナルハンドラ
Welcome to the home of Guido van Robot! Guido van Robot, or GvR for short, is a programming language and free software application designed to introduce beginners to the fundamentals of programming. GvR runs on Windows, Macintosh, and GNU/Linux, in a variety of languages! It's great in both the classroom and the home as a way of introducing people to the basic concepts of programming. Are you inte
Python勉強し始めて一ヶ月くらいたったんで一度復習を兼ねてまとめてみようと思います。僕が今までPHPとかPerlとかJavaScriptを使っていて、Pythonはこうやるのかーとか、これは便利だなーと思ったところ、開発していてはまったところなどピックアップしてみました。 初めてのPythonを読んで初心者向け勉強会に参加した程度の知識です。とりあえず初めてのPythonがかなりいいのでこれ読むだけで大体基礎は習得できた気がします。基本的な文法の説明だけでなく、大事なことは何回も繰り返し書いてあったり、Pythonの思想などにも触れているのでなぜこういう実装になっているかということも理解できます。これオススメ。 尚、このエントリーではPythonのバージョンは2.5をベースにしてます(主にGoogleAppEngineで使ってるので)。間違えなどあったらツッコミお待ちしてます。 文法、
Peter Norvig / 青木靖 訳 このエッセイでは、 あらゆる数独パズルを解くという問題に取り組む。制約伝播と探索という2つのアイデアを使うと、ごく簡単に解けるということがわかる(主要なアイデアはコードにして1ページたらずで、補足的なコードが2ページある)。 数独の記法と予備概念 最初に記法をいくつか決めておこう。数独パズルは81個のマス(square)からなる盤面を使う。数独ファンの多くはカラムを1-9で、行をA-Iでラベル付けしており、カラム、行、ボックスのような9個のマスの集まりをユニット(unit)と呼び、ユニットを共有するマスをピア(peer)と呼んでいる。パズルではマスのいくつかが空いており、他は数字が入っている。パズルの目的はこうだ。 それぞれのユニットのマスが1から9の数字の順列によって埋められるようにする。 つまり、1つのユニットに同じ数字が2度現れてはならず、そ
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー まあいろいろあると思うけど,あんまり古いのだとスタイルがアレでダメだし,今風でとりあえず読んでてためになるし面白いなー,と思うのはGoogleで働いてるPeter Norvingさんのコードかな。短めで読みやすいし。 How to Write a Spelling Collector(スペル修正プログラムを書く方法) Solving Enery Sudoku Puzzle(数独パズルを解く) この人は他にもPython IAQ(Infrequentry Asked Question,滅多にでない質問集)とかJava IAQとか,How to Write a (Lisp) Intrepr
Pythonなら短く書ける。スリ〜プソ〜トはネタとして面白いが実用性は皆無。 だけど、multiprocessingはガチで実用的なモジュール。(Python2.6以降の標準ライブラリ) #!/usr/bin/env python from time import sleep from multiprocessing import Pool from random import randint num = 20 def sleep_sort(n): sleep(n) print(n) Pool(num).map( sleep_sort, [randint(1, num) for i in xrange(num)] ) Pool#mapの返り値はそれぞれの実行結果のリストなんだけど、sleep sortでは役に立たないので割愛 常識を覆すソートアルゴリズム!その名も"sleep sort"!
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く