Pythonのお勉強 Part56
■ このスレッドは過去ログ倉庫に格納されています
大人はタイピング量が足らない。そこが学習時間の差だ。 子供は無駄なことでも何度も繰り返せるけど
大人になると無駄なことは省こうとするし
色々先入観とか余計なことに気が行くのはあるね なんだよこのマッタリスレ
もっとギスギスしてねえと気持ち悪くて居心地悪いわ 興味を持った子どもはすげえよ
好奇心で何でも試そうとする
まったく、小学生は最高だぜ Python2使ってると小学生に煽られるらしいからな >>400
Pythonは低脳でも使えるようにした言語だから、並脳な奴なら1か月あればなんとかなるだろう 何より時間がある
っていうか社会人にも時間がないのがおかしい
外国なんか日本の平均と同じ給料だと8時間も働いてないぞ >>411
日本にはロスタイムがあるからな
日本の8時間労働だとロスタイム2時間ぐらいで、それが無償残業時間になる
日本はロスタイムを加味した単位労働時間当たりの生産性が低いから
長時間働かないとたいした金を生まないってのがな >>400
子供だからこそじゃないの
余計な偏見とプライドある大人に教えるの大変 勤務時間中に学ぶ、学んだ成果で仕事効率化。空いた時間でさらに
以下、ループ クラス変数とインスタンス変数で同名の変数を定義してインスタンスから呼ぶとどうなるかしら? class HOGE:
hoge = 'FUGA'
def __init__(self):
self.hoge = 'fuga'
a = HOGE( )
print a.hoge
print a.__class__.hoge pythonで地図に世界遺産の場所をマッピングして、詳細情報と写真が見れるようなwebアプリ作りたいんだけど
どんなライブラリを使えば実装できるの? ネットからDLしたスクリプトで、
import logging
・・・
logging.debug( ・・・ )
となってるんだけど、debug()の出力部分を指定したパスのファイル
に出力するのはどうすればいい?
import 文の直後に、
logging.basicConfig(filename='C:/xxxx/yyy.log',level=logging.DEBUG)
logging.debug('aaa')
と書いてみたけど、yyy.log というファイルがシステム中のどこにも作成
されてないらしい。 真偽式が値を返して変数に格納出来る仕様は便利で読みやすいな(マニュアルに書いてる基本だけど)
引数の処理に重宝する
key1 = key1 or default
引数が独立に扱えない(相互依存)ときは
key1 = default1 if key2 else default2
既成ライブラリ読んでて**argsは詳細追うの苦労して殺意湧くけどまあ自分用だ >>427
試しに相対パスかCのルートにyyy.log出すように書き直してやってみてよ >>430
そりゃ、最小限から徐々にプログラムから試して行けばわかるよね。
既に沢山書かれている他人のプログラムだから、何か複雑な設定がされている
可能性があるのでわからないだけであって。 >>427
そのスクリプトダウンロードしてきたURL書けばすぐわかるのに.. >>431
複雑なことなど何もない。
loggingは勝手にファイルは作るけどフォルダは作らない。
c:/xxxxフォルダが既存でないならエラーになる。
ちなみにcのルート指定するとwindowsのバージョンに寄っては書き込み権限が無くてエラーになることがあるので、やめた方がいい。
あと、logging.basicConfigはimport直後じゃなくてメインスクリプトの頭でやった方がいいと思います。 >>434
一応、yyy.logを入れたいフォルダは最初から存在してる。
けれど、現実にはyyy.logというファイルが全く作成されない。 >>435
んじゃ、basicConfig実行してる所が走ってない。
先の投稿で書かれていたbasicConfigのパラメーターに誤りは無いし、単純にファイル出力するだけなら他にやることはない。 >>436
その部分は、走ってることは走ってる。確認取れてる。 >>437
んー、じゃ、ソースが全部ある訳じゃないのでわからんな。
ほかのところでloggingのハンドラとか触ってないか確認する位しか思いつかん。
コンソールにエラーは出てないんだよね? >>437
ああ、後はすごく失礼な疑いで恐縮だけど、、、、
427であなたが書いたスクリプトのfilenameのpath区切り、427では/(スラッシュ)だけど、ソースコードでは\(バックスラッシュ)になってる。
とかぐらいかな、思い付くのは。 もっと基本的なpythonでのファイルの読み書きとかからやって常識を知った方がいいんじゃないか >>427
>logging.basicConfig(filename='C:/xxxx/yyy.log',level=logging.DEBUG)
Ruby では、パス区切りは、/ で、Windows でも動く。
自動的に、/ が、\ に変換されるから
Python でも、そういう機能があるのか?
どのOS でも使える、パス区切り >ファイルの読み書き
これをちゃんと理解できている奴は中級の上位レベルだろう
あと、loggingがあーだこうだも中級レベルなんだろうが。
でも、スレに来る奴らは俺のような超初心者で内部動作なんかを理解しないで
コピペで動いたら(使い方がなんとなくわかったら?)、
俺はもう十分理解したという感じだろうからな。 >>445
試せばすぐにわかることを、、、
pythonでもスラッシュのパス区切りは使えるよ。
バックスラッシュも使えるけどその場合エスケープが要る。 >>446
openpyxl使って、Excelファイルの読み書き、まさに今日やって大体わかった!って喜んでいたのだが、やはり間違いか? >>449
それはデータ構造へのアクセスだろう
これはファイルシステムへのアクセスの話だろ
パーミッション調べたりとか 仕様を変更しても良いです。
マ板で、3が付く時と3で割り切れる時に吃驚を付けて、出現回数を割り振る
と言う問題が有りました。
コレを省略したい。
https://ideone.com/HV13By
コレにN+1の方法が有ったら、教えて下さい。
https://ideone.com/YP7vLc
なんとか、3行以内に収めたいです。
お願いします。 エクセルから読み込んだセルの数値をpythonを使ってグラフにしたいのですが、どうすればできますでしょうか? >>452
そもそも3がつくときに!ついてないぞ
13 >>454
CSVに書き出してmatplotlib >>454
pandas
DataFrameからplot(matplotlib) Ruby で作った
cnt = 0
(1..50).each do |num|
str = num.to_s
if 0 == num % 3 || str.include?('3')
cnt += 1
str = str + '! ' + cnt.to_s
end
puts str
end python2でも3でも動きませんでした。
素人でしょうか?出直してきてください。 あえてrubyで出す馬鹿がどんな言語機能自慢してくんのかと思ったらなんの工夫もない糞コードだった件 今からPythonでWebアプリの勉強を始めていこうと思ってるんですが、開発機がWindowsでデプロイするサーバーは他のOSって簡単にいくものなんですか? >>462
Web界ではPythonはあんまりメジャーじゃない
情報がなくて苦労するからやめとけ Pythonはバッチ処理に使う言語だよね
Pythonで処理した結果をNodeで表示するみたいなのがベスト 日本では、Ruby on Rails が定番。
学習王道ツール「Ruby on Rails チュートリアル」も、翻訳されてる
Node.js + Express よりも簡単 pythonはos.pathあるし別osへのデプロイも簡単だと思うけど 日本ではということは海外では違うということですね。やめておきます。ありがとうございました。 >>462
何が起きるか判ってない段階ならデプロイする鯖と同じOSや環境にした方が良い
判ってたらクロス開発もあり >>465
またガラケーみたいに将来ガラパゴス化しそうなんですが 将来じゃなく既にそうなってるぞrails以外。
昨今新しくweb始める人にとってはrailsのスクリプティングエンジンという認識。
まぁ、それでいいと思う。 1995 – オーストラリアがモヒカン刈りの戦士とティナ・ターナーの疾走する砂漠になるという漠然とした啓示の実現を回避するため、ユキヒロ・“Mad Matz”・マツモトがRubyを作る。
この言語は後に本当の作者であるデビッド・ハイネマイヤ・ハンソン(DHH)によりRuby on Railsと改名された。
[MatzがRubyという言語を作ったというくだりは間違いだから次に改訂するときに取った方がいいよ – DHH] こんにちは
年始より勉強を始めたプログラム歴3ヶ月の初学者です。
スレ違いでしたら申し訳ありませんがお知恵を拝借出来ないでしょうか。
機械学習で物体の検出と分類を目標としているのですが行き詰まっております。
独学でなんとかcnnの実装opencvによる撮影、分類までは漕ぎ着けたのですが検出がサッパリという状況です。
mlp画像認識を片手に悩んでいるのですが、理論はなんとなく分かっても実装がうまく出来ません。cocoなどを覗いて唸っております。
pythonで物体検出を実装するにあたり参考になるhpや書籍等あれば教授いただけないでしょうか?
よろしくお願い致します。 MLPは数式ばかりなので
初学者は「ゼロから作るDeep Learning」を読むべし 473さん、ご回答ありがとうございます。
説明不足でも申し訳ありません。実は「ゼロから作るDeep Learning」は既に購入しております。
学習過程で使用した書籍を記載させていただきます。正直これらもなんとか読んだ状態です。
Python言語によるプログラミングイントロダクション
入門 Python 3
ゼロから作るDeep Learning
MLP深層学習
MLP画像認識
ゼロから作るDeep Learningは一月ほどかけてすべてのプログラムを走らせなんとか概要が分かるようになりました。
RasPiいじりから入りAnacondaに移行してpytorchの導入して取り組んでおります。
FastAIやQiitaを参考にしながらMNIST, cifar-10, catsdogsをチュートリアルのサンプルコードと自前コードでそれぞれ作成しました。
webカメラから画像を収集するためにopencvの障りを調べて撮影→キャプチャ
事前学習させた重みをdictから読ませて分類するところまではこぎつけました。
撮影画像から特定の物体だけを抽出するために検出に取り掛かったのですが
R-CNNやらFaster-R-CNN,yolo,SSDと盛りだくさんでハードルが高かったので基礎から読み返してます。
MLPの画像認識でバウンディングボックスの仕組みを分かった気でいたものの実装となるとさっぱりでした。
素人なもので、OPENCVや画像処理関係を適当に手を出してる状態です。 >>462
別に簡単だよ
基準はわからないが
Django使ってればビジネスロジック書くだけだし >>476
初めて拝読しました。こういった資料を探しておりましたので大変助かりました。
概要の解説もあり分かりやすいですし、何より日本語だと読みやすくて有難いです。
手元に専用のPCがないので後ほど実際に実装してみてanchorによるconfidence選定の仕組みを理解したいと思います。
御助力ありがとうございました。 >>474
プログラム歴3ヶ月でそのレベルはすごいな プログラ厶歴5年()だけどコピペグラマーだから機械学習なんて全然分からん マには
ドメイン、業務や機械学習などの知識
実装、pythonなどの言語やライブラリなどの知識
プラットフォーム、LinuxなどのOSやミドルウェアの知識
が必要だから
仕事だと分担したりするけど趣味だと全部1人だし
ミドルウェアやライブラリがやってくれる部分はあるけど選ばないとだし >>478
ありがとうございます。そういっていただけると励みになります。
pythonはIDEが素晴らしくAnacondaがあればパッケージ管理も楽ですし
jupyterを使えば初めてでもエラーが分かりやすくて助かりました。
自分では楽しんで勉強してますが、始めたきっかけがAIでなんかしろいう上層部の声です。
プログラミングできる方もおらず、多少話ができるのがネットワーク保守の方くらいという環境です。
AIを未来から来たターミネーターと思っている方々にどう納得させるか頭が痛いです。
いまのところ機械学習で突っ走ってきましたが、他は最低限ですっ飛ばしましたので恐らく皆さんが基本とするところに抜けが多いと思います。
とはいえ、HPで見かけるpythonを対象としたプログラミングスクールも金額がべらぼうに高く受ける気になれないので悩ましいところです
コーディングについても初めに「Unixという考え方」、PEP8に目を通してそれっぽく書いているので正しいのかどうかも自信がありません。
以下の点には自分なりに気を付けていますが、もし他にやっておいた方が良い点ありましたらアドバイスいただけると有難いです。
・1つの関数に1つの仕事
・値を要求する関数は特別な理由がない限り値は直打ちしない
・効率より汎用性を意識する
・リストはなるべく一括管理 >>481
・手段と目的をごっちゃにしない
これが一番大事 目的目線でいうと、今時典型的な画像認識なんか出来合いのパッケージやサービス使えば一瞬でできるよ おちんぽっぽ と 脳内を気持ちよくする為にだけ始めた。
俺は手段と目的を間違えたのか? >>481
素人しかいない環境でAIでなんかしろって無茶苦茶だな。ある意味自由で楽しそうだけど。 普通はそう言うだろ
玄人が揃っているなら、いちいち言う必要ないもの
遊ばせてくれるんだから有難いじゃないか >>485
俺のところでも新規事業なんかは社内の素人連中で何とかしろだよ
ただ、道なきところに道を作ることができそうな優秀で根性がある連中がやることになるが。
俺みたいなゆとりでヘタレでは務まらん たしかに>481は優秀そうで熱心そうではあるな。会社で遊ばせてくれるのは羨ましい。
新しいことやりたいわ。
まあ既存のシステムを自動化したりも楽しかったりはするが。 皆さん、ご助言ありがとうございます。
>>482
手段と目的をごっちゃにしない
確かにこだわり出すとやっちゃいがちでしたので気を付けます。
>>483
コレは本当にご指摘の通りです。
画像認識についても調べましたが既存で素晴らしいものは多々ありますよね。
いくら頑張ったところで最後にハードウェアの処理とカメラの性能、照明がネックになるので買った方が安上がりだと思います。
商用プログラム一人で組めるなら、その道にいくべきじゃないかと…
>>484
私のモチベーションも良くわからなかった機械学習が出来てる!って自己満足なのでお仲間です
>>485
本業が下期に固まってるせいで上期は余裕があるので自由に勉強出来るのは楽しいですね。
>>486、488
ほんと、お二人の言う通りなんですよね。
部所長が叩き上げで、とりあえず技術検討はやってみるコスパに見合うならやるスタンスなので助かってます。
お上がどうあれ勉強できる時間が出来たと思えば儲けものかなと。
製造系の設備側なので落としどころとしてはIoT化も含めて現場データを自動収集してメリットとれれば御の字というところです。
>>487
やはりどこも同じなんですね。
幸い、hotな話題なので色々な資料が溢れていて助かりました。
これがニッチな技術だったら到底無理でしたので運が良かったです。 スレがハイジャックされました。
ここは>>474のためのスレです。 昔2で書いたスクリプトを3で動かしたら
標準入出力で
久々にUnicodeEncodeErrorにイラつく
io.TextIOWrapper以外にスマートな解決って
なんかありますか? 辞書で複数の値を同時に取得することはできますか?
■現在使っている方法
for key, val in my_dict.items():
if key == 'key1' or key == 'key2':
vals.append(val)
■こんな感じでシンプルに書きたい
vals = my_dict["key1","key2"] 辞書を全部舐めるのは効率悪いね
keys=["key1", "key2"]
vals = [my_dict(key) for key in keys]
あるいは
vals=[my_dict["key1"], my_dict["ker2"] ] タイプミスしました
ker2 -> key2
です >>499
そうなるよな。
複数の不特定のkeyのvalueが欲しいならループでやる上
複数の決まったkeyのvalueが欲しいなら羅列でやる下
を使うl感じになるよな。
>>498なら下だろうが pandas.DataFrameなら
df[['hoge', 'hage']]とかできたはず ■ このスレッドは過去ログ倉庫に格納されています