くだすれPython(超初心者用) その52【まず1嫁】

■ このスレッドは過去ログ倉庫に格納されています
2021/01/09(土) 05:22:25.24ID:IpHIsox4
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合は、
  表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。

【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
  ↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇 くだすれPython(超初心者用) その51【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1602896738/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
2021/01/14(木) 09:02:38.64ID:5P4t3Lo7
>>40-41
ありがとうございました.
2021/01/14(木) 09:28:27.93ID:9aZMy7Uh
普通、文字列の比較に、同一インスタンスかどうかは考えない

普通は、同じ文字列かどうかの意味。
異なるインスタンスでも、同じ文字列なら等しいと考えるべき
2021/01/14(木) 14:35:40.92ID:vrPclvll
まあ代入と等号比較ってのはどの言語でも気にするべき内容だわな。
2021/01/14(木) 15:07:09.78ID:kvGQqxiC
>>38
ありがとうございます
@使ったら普通に動きました

あとこの抜き出したデータフレームに含まれてない物だけを抜き出して新しいデータフレームを作りたいのですが、方法ってありますかね?

やりたい事としては2つのdfの単純な差集合を取りたいだけです
2021/01/14(木) 15:14:43.12ID:kvGQqxiC
すみません自己解決しました
2021/01/14(木) 16:39:43.93ID:jX/4+uzK
50,000、5,000、500
こういうのをre.searchで正規表現を使って数字のみ抽出しようしてるんだけどうまく抽出できないのでどうすればいいか教えてください
48デフォルトの名無しさん
垢版 |
2021/01/14(木) 16:43:03.97ID:poiifTN2
まずはカンマを除去する
次に、でsplitする
すると、文字列での数字が得られる
2021/01/14(木) 16:45:34.33ID:hXZPMCaj
へーjoinしなくていいんだ
2021/01/14(木) 16:46:02.96ID:jX/4+uzK
コード分けて書くしかないのか・・・
2021/01/14(木) 16:48:27.46ID:7visTOmZ
プログラミング覚える前にググり方覚えたら?
そのものズバリがすぐ見付かるだろ
2021/01/14(木) 17:36:21.21ID:edSCC/44
localhost:8080でhello worldの立ち上げに成功したんだけど
試しにpythonで
requests.get(url='http://localhost:8080/')
ってやってもHTTPConnectionPool(host='localhost', port=8080): Max retries exceeded with url:みたいなエラーでるなんで・・
2021/01/14(木) 17:37:28.95ID:MboREI0+
>>50
どういう正規表現を試したのか書いてみ
2021/01/14(木) 17:57:42.07ID:edSCC/44
自己解決
docker内でやってたんだけど
ホストPCに戻ってhostname -IでホストPCのipアドレス取得して
localhostのとこをそのホストPCのipアドレス指定して
requests.get(url='http://ホストPCのIPアドレス:8080/')
ってやったら取得できた
お騒がせしました
2021/01/14(木) 22:58:31.74ID:F1kErgCn
形がほぼ同じで、色合いだけ違うものを区別して認識させる方法ってありますか?
OPENCVでグレースケールとカラー両方試してみたのですが、色違いポケモンご認識してしまいます。
2021/01/14(木) 23:11:47.32ID:9/q933wG
>>55
形が同じだとわかってるなら、
どこの色をチェックすれば違いがあるかもわかっているだろう
たとえば全体をHSVにcvtColorしてH成分のヒストグラム作ってみるだけでもわかりそうなもんだけど
2021/01/15(金) 04:06:34.83ID:MomngUWn
ファイアウォールなどで、localhost を定義していない場合には、アクセスできない

その場合は、Local Loopback Address(127.0.0.1)でアクセスする
2021/01/15(金) 04:15:46.87ID:yP8AorQ+
>>57
普通のOSはhostsにlocalhostが書いてあるからいみふ
2021/01/15(金) 12:40:59.26ID:CwWniPih
表計算では難しいデータ処理がしたくて
google colabでpythonを触り始めた初心者です。

全て整数のa:時間、b:測定値からなる
2列の時系列csvデータがあります。

測定値bが前の時間より低下した場合、
bが元の値に戻るまでの時間をデータ列cとして
下のように元のcsvに追加したいのですが
pythonではどのように記述すれば良いでしょうか?

a b Δb c

1 100 0 0 Δb<0で無ければc=0
2 97 -3 3 100まで戻る時間
3 95 -2 1 97まで戻る時間
4 99 4 0
5 102 3 0
6 101 -1 4 102まで戻る時間
7 97 -4 2 101まで戻る時間
8 93 -4 1 97まで戻る時間
9 97 4 0
10 102 5 0
60デフォルトの名無しさん
垢版 |
2021/01/15(金) 14:08:50.89ID:asOAfCNV
疑似コードならこんなもんか

for i in 各行:
__Δbを求める
__if Δb>=0: continue
__c=∞
__for j in i+1, ...:
____if b[j]>=b[i]:
______c=j-i
______break
2021/01/15(金) 15:33:15.80ID:Dsfs083N
Pytorchのfor文内で定義した変数ってローカルスコープになるんだっけ?
VSCodeのpylanceでfor文の外で変数呼ぼうとすると未定義だって言われる
言語によってぐちゃぐちゃだからよくわからん
2021/01/15(金) 21:58:22.91ID:x6u03kZV
>>59
Pandasで
https://ideone.com/VoFp7i
6357
垢版 |
2021/01/15(金) 22:17:32.59ID:MomngUWn
>>58
MySQL とか、色々なアプリで、localhost で接続できない場合がある。
その際、127.0.0.1 でアクセスできる場合がある

頻出パターン
2021/01/15(金) 22:33:46.45ID:Tqgjj02D
>>61
Pythonでローカルスコープが作られるのは
関数とクラスのメソッドの中だけという認識でいるがどうか
65デフォルトの名無しさん
垢版 |
2021/01/16(土) 12:25:41.27ID:gncD+BLl
google colabでtecogan使えます?
2021/01/16(土) 15:58:25.90ID:26j/cWCr
初心者です
環境構築の際WSLで過度にメモリ消費しないようにしたいんですがユーザーフォルダへの.wslconfigの作成はどのようにしたら良いのでしょうか
2021/01/16(土) 16:34:10.42ID:4+YrYRTr
>>66
なにをもって「過度」となすか定義せよ

でもって
コンフィグでどうこうじゃなく、
自分がメモリ消費量が常になるべく小さくて済むコードを書く方がよっぽど大事なのでは
2021/01/16(土) 16:35:57.57ID:4+YrYRTr
んでもって
WSLの環境設定どーのこーのはPythonちゃうわスレチ
6959
垢版 |
2021/01/16(土) 21:48:07.22ID:ZDQmT4z0
>>60 >>62 ありがとうございます。
>>62のリンク先のでを動かせました。
2021/01/17(日) 13:32:11.47
streamlit便利すぎる・・
71デフォルトの名無しさん
垢版 |
2021/01/18(月) 16:36:30.63ID:twrlO24z
tecoganで動画をモザイク除去したいのですが、anaconda環境がいいのでしょうか?
72デフォルトの名無しさん
垢版 |
2021/01/18(月) 16:44:16.35ID:0ToZeY7a
>>66
https://qiita.com/suto3/items/db6f05f943cc2ea2ef59
73デフォルトの名無しさん
垢版 |
2021/01/18(月) 17:07:18.04ID:twrlO24z
動画モザイク除去ってなんのライブラリがいいんでしょうか?tecoganだと情報がない
2021/01/18(月) 17:36:18.09ID:rGsEChT5
ないよ
2021/01/19(火) 00:39:17.87ID:c8bXX+G9
if a in c or b in c:
この場合ってまずaとcの処理が行われてマッチした時点で後ろの処理はせずに終了という認識でおk?
2021/01/19(火) 01:38:53.83ID:JZy8vN9I
>>75
orがショートサーキットで評価されるかということならYes

a in c でaが見つからなければcが2回評価されるので
cの内容次第では違うやり方にしたほうがいい場合がある
2021/01/19(火) 11:37:32.51ID:47F7rTga
>>76
さんくす!
78デフォルトの名無しさん
垢版 |
2021/01/19(火) 19:26:26.07ID:2duJ8/9a
if set(a, b) & set(c):
2021/01/19(火) 20:21:18.38ID:KLo7OE0Q
if (a or b) in c:
80デフォルトの名無しさん
垢版 |
2021/01/19(火) 20:35:10.89ID:61lQZe/N
>>79
if文のinは面白いねえ
2021/01/19(火) 21:40:38.49ID:EnKJ4P3R
>>79
なんでこれでうごくか分からないんだけど参考になる記事とかない?
2021/01/19(火) 21:45:44.20ID:JZy8vN9I
>>79
これは全然意味違うでしょ

aがtruthyなら(a or b)はa
aがfalsyなら(a or b)はbの評価結果
(None or ‘b’)なら’b’
2021/01/20(水) 02:56:28.38ID:gpV/4NvU
う動くif文のがこわいよね
そのまま動いてて何ヶ月か後に実は意図した条件をすり抜けていたとか気づいたりすることも…
2021/01/20(水) 02:59:43.75ID:ZZQujzOy
境界値検査は必須
85デフォルトの名無しさん
垢版 |
2021/01/20(水) 12:17:49.08ID:2siInrr2
PHPのexec経由だとPyTorchをインポートできない件で、諸兄のお知恵をお貸しいただけないでしょうか。よろしくお願いします。

環境は以下の通り。
Ubuntu 18.04
Python 3.6.9
PHP 7.4
PyTorch 1.7.1(本家サイトの通り、pipをpip3にしてインストール)

コマンドライン
$ python3
>>> import torch

ファイル経由(ファイル名test.py)
import torch
$ python3 test.py
は問題ないのですが、上記のtest.pyをPHPで
exec('/usr/bin/python3 test.py', $output);
などとすると動きません。

Traceback (most recent call last):
File "test.py", line 1, in <module>
import torch
ModuleNotFoundError: No module named 'torch'
(Apacheのエラーログ)

またnumpyならばexec経由でもエラーになりません。
パス関係は以下の通りです。
$ pip3 show torch
Name: torch
Version: 1.7.1+cpu
(中略)
Location: /home/ユーザー名/.local/lib/python3.6/site-packages
86デフォルトの名無しさん
垢版 |
2021/01/20(水) 12:20:44.96ID:2siInrr2
>>85 の続き
コンソールではパスも通っています。
>>> import pprint
>>> import sys
>>> pprint.pprint(sys.path)
['', '/usr/lib/python36.zip','/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/ユーザー名/.local/lib/python3.6/site-packages','/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']
が、PHPのexecでは
import pprint
pprint.pprint(sys.path)
の結果をprint_rで出力するとパスが通っていません。
[0] => ['/usr/lib/python36.zip',
[1] => '/usr/lib/python3.6',
[2] => '/usr/lib/python3.6/lib-dynload',
[3] => '/usr/local/lib/python3.6/dist-packages',
[4] => '/usr/lib/python3/dist-packages']
そこでパスを追加してみました。
import sys, pprint
sys.path.append('/home/ユーザー名/.local/lib/python3.6/site-packages')
pprint.pprint(sys.path)
[0] => ['/usr/lib/python36.zip',
[1] => '/usr/lib/python3.6',
[2] => '/usr/lib/python3.6/lib-dynload',
[3] => '/usr/local/lib/python3.6/dist-packages',
[4] => '/usr/lib/python3/dist-packages',
[5] => '/home/ユーザー名/.local/lib/python3.6/site-packages']
とパスが通っていると思うのですが、
import sys, pprint
sys.path.append('/home/ユーザー名/.local/lib/python3.6/site-packages')
import torch
の結果はやはりModuleNotFoundErrorになってしまいます。
また以前に構築した2つの環境ではexec経由でimportできていて、最近構築したこの環境でのみ発生します。関係ないと思いますが、以前からの環境はさくらVPSとWSL、新環境はWindows 10のHyper-V。OSやソフトは同一です。
何か落ち度や見落とし、情報不足などありましたらご指摘いただけますと幸いです。
2021/01/20(水) 13:33:20.05ID:2iI7lLvp
cd /usr/local/lib/python3.6
ln -s /home/user/.local/lib/python3.6/site-packages
動的にパス設定してるなら
これで動きそう
88デフォルトの名無しさん
垢版 |
2021/01/20(水) 13:57:28.87ID:2siInrr2
>>87
ご教示ありがとうございます。
が、ダメでした。
lnで作った/usr/local/lib/python3.6/site-packages
をdist-packagesにリネームしたりもしましたが、やはりModuleNotFoundErrorです。すみません。
2021/01/20(水) 16:36:15.29ID:sOzWFlEJ
/home/ユーザー名/.local/lib/python3.6/site-packages

のディレクトリ/ファイルのアクセス権の制限とかは?
90sage
垢版 |
2021/01/20(水) 17:15:24.51ID:2siInrr2
home 755
user 755
.local 775
lib 700
python3.6 700
site-packages 700
torch 775
torch-1.7.1+cpu.dist-info 775
で、所有者&グループはこのユーザーディレクトリのユーザー(動いている環境も同様)でした。
2021/01/20(水) 17:41:53.77ID:rAY+15bx
>>86
PyTorchじゃないけど、pywin32とかで必要なダイナミックリンクライブラリが揃ってないときに、
DLLロードエラーが最終的にModuleNotFoundErrorになったのをこないだ見た。
コンソールにはライブラリ読み込み失敗とか出てるような気がするので、コンソールをもっと詳しく見てみては?
パッケージのダメな箇所をどんどん特定していってなんのライブラリ読み込み失敗してるか掘ってみていかないとダメかもしれないけど。
2021/01/20(水) 17:45:33.26ID:5gwvq16z
PHPのexecを実行してるユーザーとの関係は?
2021/01/21(木) 00:23:44.08ID:FkznapS6
python 3.8をインストールしコマンドプロンプトから起動
pipでライブラリをインストールしようとしましたが、

NameError: name 'pip' is not defined

とでてインストールできません。
どうしたらいいんでしょうか?
94デフォルトの名無しさん
垢版 |
2021/01/21(木) 00:41:41.16ID:xsNyeDV8
>>93
pipはPython内のコマンドではないので、コマンドプロンプトを開いたら
直接pipを使ってみてください
95デフォルトの名無しさん
垢版 |
2021/01/21(木) 05:53:48.21ID:DUmqZmwm
画像のモザイクやら消したい場合、
学習の第一歩って何になるんでしょうか?
inpaintingというのがあるらしいですが、チュートがないです
opencvだとaiと言えるのでしょうか
2021/01/21(木) 11:08:54.43ID:zE0uybHN
モザイク消し

ではなくて

オレ今まで一杯モロ画像見てて絵も写真くらいの精度で描けるんだけど、
こういうモザ画像の中ってこんな感じだと結構自然じゃね?

という機能
2021/01/21(木) 11:43:25.48ID:Ugep+Cnq
モザイクと言わず完全に隠されてても保管してくれるからGANはすごい技術だ
俺も勉強したい
2021/01/21(木) 11:46:35.58ID:DtxXx33C
>>86
ユーザー名に、半角英数字以外の妙な文字が入っていないですか?

/home/ユーザー名/.local/lib/python3.6/site-packages に、
別のモジュールを作って入れてみて、正常に動くか確かめてみれば?

他には、sys.path.append で追加するよりも前に、import されているとか?
正しい順番を、設定ファイルか何かで、確定させる必要がある

カーネルのログを見てみるとか、
起動オプションに、エラーログの詳細表示を付けてみるとか

あまりにも、エラーの可能性が広すぎる。
ファイルの文字コードの違いとか、考えられる要因が多すぎて、絞れない

ここは成功、ここは失敗と、
何か、切り分けないといけない
2021/01/21(木) 11:59:34.76ID:uTJ86sk/
おまいらのエロに対する情熱が伝わってこないから教えてやらない
100デフォルトの名無しさん
垢版 |
2021/01/21(木) 13:26:03.84ID:k/PIK3fQ
>>96
>>97
チュートがあんまりないんですおよね、、、
ganの基礎からやるといいんんですか?
2021/01/21(木) 13:39:48.17ID:abaylDM7
そもそも学習用のデータちゃんとあんの?
102デフォルトの名無しさん
垢版 |
2021/01/21(木) 15:11:27.73ID:k/PIK3fQ
そこはスクレイピングで集める
しかしどうせgpuパワーが足りないんだろうと思うから手を出せない
opencvはaiなの?
2021/01/21(木) 21:54:31.49ID:CZIzPSd/
まあ機械学習の機能がある以上広義のAIではあるだろうな
2021/01/21(木) 23:04:38.02ID:6we7z88m
>>86
phpを動かしてるユーザーはapacheだから
他のユーザーのsiteは指定しようが見れないってことじゃ
自分用のpythonと別に考えたほうが面倒がなくていい
自分のホームディレクトリにインストールされてるから
それはlinuxのディストリビューションの管理から離れてるんだろ
2021/01/22(金) 04:57:09.70ID:ucotd9u3
seleniumを使ってGoogle Chromeを一部自動操作して作業を効率化しているのですが、
ctrl+fで開くページ内検索を自動化する方法ってあるませんかね?
周辺単語まで見る必要があるので、検索ボックスを開く→特定のワードを入力、まで自動でできたらOKなのですが

普通のsend_keyですとか
ActionChains(driver).key_down(Keys.CONTROL).send_keys('F').key_up(Keys.CONTROL).perform()
は試してみたのですがうまくいきませんでした(エラーは出ないが検索ボックスが開かない)

pyautoguiでのキーボード入力も試してみたのですが、ブラウザがアクティブ化できないのでidleの検索ボックスが開いてしまいお手上げでした
106デフォルトの名無しさん
垢版 |
2021/01/22(金) 06:14:45.85ID:/SiZ9IrX
>>103
ganのいいチュートありますか
2021/01/22(金) 07:28:49.93ID:Qv7cR1ei
当該ページの要素を取得して特定ワードをテキストとして含んでるならそこにスクロールさせればいいだろ
検索ボックス使う必要がない
2021/01/22(金) 13:47:44.95
Google Colaboratory便利すぎる・・
docker然りこんなのもう自分のPCにpythonインストールする意味ないじゃん。。
2021/01/22(金) 13:53:51.65ID:dclXtjm4
>>100
ワイはGAN Kerasとかで調べて勉強してる
英語読まなきゃきけないのがきつい
2021/01/22(金) 16:26:13.13ID:KA18g7jM
>>88

>>87
のシンボリックリンクがダメなら、ファイルをコピーしてみれば?
2021/01/22(金) 18:07:48.05ID:ZQEfkoyS
シンボリックリンクやファイルコピーは環境構築方法としてはかなり微妙じゃない?

権限の問題だと思うからまずはそれを確定させて
PHP実行ユーザー向けの環境構築をpip使ってできるようにしたほうがいい気がする
権限の問題かどうかはPHP exec経由でファイルの中身が読めるかどうかでわかる
2021/01/22(金) 19:58:48.45ID:ucotd9u3
>>107
回答ありがとうございます
なるほど
ただ、ちょっと具体的なイメージが浮かばないのでもう少し詳しい方法を教えていただけないでしょうか
2021/01/22(金) 21:55:57.48ID:bS3A3tOW
>>107
コード寄越せってことだぞ。あくしろや
11485
垢版 |
2021/01/22(金) 22:36:26.16ID:1dyqdMu0
85です。もろもろレスありがとうございました。
まず結論ですが、PyTorchをimportできるようになり推論結果も出力されました。
皆さまのレスを総合すると、パスを通そうがApacheからユーザーディレクトリは見えない・アクセスできない。
に集約されると考え、pipの-tオプションで/usr/local/lib/python3.6/dist-packagesを指定してPyTorch
をインストールしたら成功しました。
セキュリティ関係含めここにブチ込んでいいものか所有者やパーミッションはこのままでいいのかなどこれから詰めますが、取り急ぎご報告まで。
皆さまのレスがなければ詰んでました。本当にありがとうございました。
2021/01/22(金) 23:07:41.14ID:9jKbgi1Z
https://i.imgur.com/WccgDA1.jpg
2021/01/22(金) 23:28:00.59ID:aHT4H8FH
照すつ文章
2行目
3行目
テスト文章
2021/01/22(金) 23:31:17.68ID:aHT4H8FH
めんなさい、>>116はミスです...

質問失礼します
requestsとBeautifulSoup4で遊んでいましたが、requestsがエラーとなるサイトが出てきてしまい理由がわからずここへ来ました
ひとまずHTMLが取得できるところまで解決したいです
よろしくお願いいたします

実行環境:
Python 3.7.0, Windows 10 64bit, IDLE 3.7.0 (64bit)で実行しています

ソース:
import requests
import bs4

url = "https://www.tokyomotion.net/";
res = requests.get(url)
soup = bs4.BeautifulSoup(res.content, "html.parser")
print(soup)

エラーメッセージ:
============================== RESTART: C:\BOX\Python\test\test.py ==============================
Traceback (most recent call last):
File "C:\Python\Python37\lib\site-packages\urllib3\response.py", line 401, in _decode
data = self._decoder.decompress(data)
File "C:\Python\Python37\lib\site-packages\urllib3\response.py", line 88, in decompress
ret += self._obj.decompress(data)
zlib.error: Error -3 while decompressing data: incorrect data check

During handling of the above exception, another exception occurred:

下に続きます
2021/01/22(金) 23:32:33.64ID:aHT4H8FH
Traceback (most recent call last):
File "C:\Python\Python37\lib\site-packages\requests\models.py", line 753, in generate
for chunk in self.raw.stream(chunk_size, decode_content=True):
File "C:\Python\Python37\lib\site-packages\urllib3\response.py", line 572, in stream
for line in self.read_chunked(amt, decode_content=decode_content):
File "C:\Python\Python37\lib\site-packages\urllib3\response.py", line 769, in read_chunked
chunk, decode_content=decode_content, flush_decoder=False
File "C:\Python\Python37\lib\site-packages\urllib3\response.py", line 407, in _decode
e,
urllib3.exceptions.DecodeError: ('Received response with content-encoding: gzip, but failed to decode it.', error('Error -3 while decompressing data: incorrect data check'))

During handling of the above exception, another exception occurred:

次が最後です
2021/01/22(金) 23:32:59.50ID:aHT4H8FH
Traceback (most recent call last):
File "C:\BOX\Python\test\test.py", line 5, in <module>
res = requests.get(url)
File "C:\Python\Python37\lib\site-packages\requests\api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "C:\Python\Python37\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python\Python37\lib\site-packages\requests\sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "C:\Python\Python37\lib\site-packages\requests\sessions.py", line 697, in send
r.content
File "C:\Python\Python37\lib\site-packages\requests\models.py", line 831, in content
self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
File "C:\Python\Python37\lib\site-packages\requests\models.py", line 758, in generate
raise ContentDecodingError(e)
requests.exceptions.ContentDecodingError: ('Received response with content-encoding: gzip, but failed to decode it.', error('Error -3 while decompressing data: incorrect data check'))

以上です
よろしくお願いいたします
2021/01/22(金) 23:42:56.73ID:1d1lzUWQ
リクエストヘッダーでgzipで受け入れ可能ということを伝えて
受信した内容をデコードする

headers = {'Accept-Encoding': 'gzip'}
2021/01/23(土) 00:12:05.81ID:fA0JjYru
res = requests.get(url, headers={'Accept-Encoding': 'identity'})
2021/01/23(土) 00:28:43.65ID:fA0JjYru
>>112
executeScriptでscrollIntoView()使う

//xpathで’foobar’を含む最初の要素を検索してそこまでスクロール
var xpath = "//*[contains(text(),'foobar')]";
var match = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null)
match.singleNodeValue.scrollIntoView()
2021/01/23(土) 00:45:47.09ID:84i3Suj7
>>120,121
ありがとうございます
gzipは初耳だったので調べている途中でしたが、'identity'の方で解決できました!

でもマナーとしてはサイト指定の圧縮形式で取得して自分側で展開するべきということですかね?
2021/01/23(土) 02:18:11.86ID:BPicNdps
0から9の数字が複数描かれた画像があります
いわゆる認証でよく出てくるcaptcha画像の類ですが
練習として、これを機械学習で認識しようとしました

画像の条件として
・数字のサイズは一定
・数字の桁数は一定
・数字の行間は一定
・数字の始まりの座標は不定
です

とりあえず流れとして
データ収集 → 前処理 → データセット作成 → 学習 → モデル作成 → 検証
みたいなことはわかりいくつかのサンプルは成功しました
が、いざ条件のcaptcha画像でやってみたところ
このcaptcha画像から数字ひとつひとつを抜き出す、という前処理でつまづきました

すべて一定ならcv2などで等間隔で区切ればいいのでしょうが
画像の最左に近い場合もあるし遠い場所から数字の連番が始まるときもあります
この最初の座標さえわかればあとは文字サイズなりなんなりで等間隔でトリミングすればいけると思うのですが
どういうロジックを組めばいいのでしょうか?

あと仮に、文字サイズが不定、行間も不定となる場合、
どう一文字を判定するのだろうと思いました
(調べて見るとcv2.findContoursという便利なものがありやってみましたが
画像を2値化するときに数字の線が若干荒れて、輪郭の判定が大量に現れる結果となってしまいました)
2021/01/23(土) 03:43:00.35ID:BPicNdps
とりあえずは数字意外のノイズが確実に出ないしきい値で2値化して
左から1pxずつ1px幅の縦1列を全て検査し、全て255とはならない始めのx列目が、数字の始まり
で、対応できるような気がしました
2021/01/23(土) 12:08:13.54ID:JpTPlhL6
初歩的な質問いいですか?

本によると、int型などはイミュータブル型とありましたが
num = 1
num = 3
というように後に中身を変更できると思うのですが、どういうことでしょうか?
127デフォルトの名無しさん
垢版 |
2021/01/23(土) 12:17:51.59ID:VD+/dXF+
1そのものが3に変化するのでは無い
3を新たに生成して上書きしているだけ
128デフォルトの名無しさん
垢版 |
2021/01/23(土) 12:19:24.57ID:/Vi6Lfdi
x=(1,2)

x=(3,4) # ok

x[0]=10 # error
129デフォルトの名無しさん
垢版 |
2021/01/23(土) 13:28:45.00ID:sVLw03+p
変数名の集合と整数の集合を考える
人間が作り出すであろう全ての変数名が入った無限集合だ
すると、変数名の集合と整数の集合の間の写像になる

「初めから全てが存在していた」とするのが西洋人の考え方
130デフォルトの名無しさん
垢版 |
2021/01/23(土) 15:09:25.35ID:LTjhYSXq
aiやろうとおもってもpcパワーないから結局無理なんだすな(´・ω・`)?
2021/01/23(土) 15:14:12.58
無料の範囲でもgoogle colabでGPUパワーで回せば余裕
2021/01/23(土) 16:29:23.88ID:UQz6+2D6
つ NCS2
FP16だけど早いぞ
2021/01/23(土) 17:03:36.52ID:5Na5U87Z
>>124
JapanPostのサイトに解説あった希ガス
134デフォルトの名無しさん
垢版 |
2021/01/23(土) 17:06:58.44ID:5Na5U87Z
>>127
1の発生場所を3に書き換える変態言語もあった希ガス
135デフォルトの名無しさん
垢版 |
2021/01/23(土) 19:33:58.95ID:LTjhYSXq
>>131
アダルト無理じゃない?
136126
垢版 |
2021/01/23(土) 22:47:11.63ID:JpTPlhL6
答えてくれた方々ありがとうございました
2021/01/24(日) 00:29:44.56ID:s/DRXVeC
>>133
郵便番号の赤い枠線がどうのこうのってやつですかね?
そうだとすれば枠線前提の話になってくるので
枠線なかった場合とではトリミングの方法も違ってきそうな気がしますね
2021/01/24(日) 00:39:34.13ID:s/DRXVeC
文字認識の学習データのセットを作る作業をしていて思ったのですが
学習データよりも、一文字に区切るアルゴリズムの方が重要ですよねこれ…
2021/01/24(日) 00:41:55.95ID:K8Y7qKof
OCRはすでにあるし
2021/01/24(日) 00:47:03.46ID:s/DRXVeC
それでも透かし入ってるのとか背景にノイズ入ってるのとか結構難しくないですかね
しきい値 → 2値化
みたいな方法しかないのか気になるところです
2021/01/24(日) 00:56:04.45ID:K8Y7qKof
いったい何やってるの
キャプチャ認証とか認識できないようにしてるけど
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況