Python3関連のことを調べてみた2021年08月19日

Python3関連のことを調べてみた2021年08月19日

TensorFlowを使って学べるレシピの紹介

# はじめに

Axrossを運営している藤原です。

**[Axross](https://axross-recipe.com/recipes)** とは、エンジニアの”教育”と”実務”のギャップに着目し、「学んだが活用できない人を減らしたい」という想いのもと、ソフトバンクと社内起業制度にて立ち上げたサービスです。
現役エンジニアによる実践ノウハウを”レシピ”として教材化し、実際にプログラミングで実装を追体験しながら学ぶことができます。AI/機械学習をテーマにした、様々な業務領域やビジネスの課題解決に応用できる実践的な学習教材を170以上揃えています。(2021年8月時点)
Axross:https://axross-recipe.com
公式Twitter:https://twitter.com/Axross_SBiv
![Axrossアイキャッチ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620853/9f500e0e-a759-20e2-bb8b-480bbcfaaf9b.png)
今回は、

元記事を表示

flask+ajaxでスライダーの値を読み取り動的になんやかんやする

# やりたいこと
– flaskを使ってウェブアプリケーションを作成したい
– スライダー(``)の値を読み取り、値に応じて要素をなんやかんや動的に変更したい
– その際ページ更新はしたくない(ajax通信で解決したい)

調べれば似たような記事はあるにはあるものの、勉強も兼ねて記事にすることにした。

# やったこと
flask + jQuery + ajaxで解決した。
今回**なんやかんや**に関しては、`cv2.addWeighted()`による画像合成を行うこととした。

今回のソースはすべて下記のリポジトリで公開しています。
https://github.com/ikentoh/flask-ajax

![blend.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529606/89be6209-45bb-29a8-1509-62480665c84d.gif)

## スライダーを定義する
画像合成のアルファ値の単位はパーセンテージなので、0~100

元記事を表示

【AtCoder】入茶記事というものを書いてみた

みなさんこんにちは。uniです。

今回は、AtCoderという競技プログラミングで茶色になったので、学習期間とかもろもろ書いていこうと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/716184/43583e6b-bd97-c429-48d7-73bdb553051e.png)

## 自己紹介

– 情報系の大学生
– 競技プログラミング歴3ヶ月弱
– 使用言語Python

こちらがプロフィール。

https://atcoder.jp/users/uniTM

## 茶色のレベル感

茶色というのはどのくらいのレベル感なのか。AtCoderの社長の言葉をお借りします。

> 茶色になる条件は、Ratingが400以上になることです。茶色で保証できる実力ですが、正直、AtCoder内ではあまり高いレベルではありません。ただ、ここにたどり着く前に辞めてしまう人が多いので、十分にやる気がある人であるとは言えるでしょう。

> なお、他社転職サイトと比較すると、このレーティン

元記事を表示

【AtCoder】ABC214をPython3で解説(ABCD)

ABC214のA-D問題の解説。

https://atcoder.jp/contests/abc214

## A – New Generation ABC
### 解説

条件分岐の問題。
問題文のとおりに`if`を書いてあげると`AC`。

### コード

“`python
n = int(input())

if n <= 125: print('4') elif n <= 211: print('6') elif n <= 214: print('8') ``` ```python # 短縮コード n = int(input()) print(4 if n <= 125 else 6 if n <= 211 else 8) ``` ## B - How many? ### 解説 $a+b+c \leq S$かつ$a \times b \times c \leq T$を満たす非負整数を求める問題。 $(a, b, c)$の組み合わせなので、条件分岐と三重ループで求めることができる。 ### コード ```python # 愚直 s, t =

元記事を表示

Pythonでエラーなく落ちる(Pillowのバージョン変更で対応)

## 状態の概要
VSCodeでF5で実行してみて、エラーも何も出ずに終了してしまう問題。自分はPyAutoGUIで起きました。

## 解決策
自分の場合はPillow==8.3.1が悪さをしているみたいなので、バージョンを少し戻してみればOK。

“`shell
pip install Pillow==8.3
“`

## 解決にいたるまで
コメントを入れながらデバッグしていると、`import`のところで問題が起きてるっぽい。深く追ってみると、Pillowの中でエラーが起きている…

“`Python
# import先のimport先の…と追っていくときに便利なコード
print(f’##{__file__}################################’)
“`

追っていくと、原因の箇所は以下のようなコードになっている模様。
`from . import _imagingft as core`のところでダメになる。
ImportErrorにも引っかからないし、`except Exception as e:`の中で`traceback.

元記事を表示

10行くらいのPythonコードでTikTokから動画情報を取得する方法

一応、TikTokは開発者向けにEndpointsの提供はしているんですが、TikTok自体のメインがモバイルなので、Webは完全に二の次という感じです。個人的には、TikTokから提供されているWebアプリと比べるとWeb向けのEndpointsはちょっと物足りないというかえらくシンプルという印象です。
https://developers.tiktok.com/
本国の開発者向けにはもう少し色々あるみたいなんですが、国外向けのTikTokのAPIはあんまり力入れていない印象です。

下記はページに掲載されているサンプルです。
[oEmbed](https://oembed.com/)を利用したとてもシンプルなものになっています。

Example
`https://www.tiktok.com/oembed?url=https://www.tiktok.com/@scout2015/video/6718335390845095173`

response

“`json
{
“version”: “1.0”,
“type”: “video”,
“title”: “S

元記事を表示

リモートカメラシステム (MQTT ブローカーに画像をそのまま送る)

次のシステムを構築するための検証です。
[Grove IoT スターターキット for SORACOM で作るリモートカメラシステム](https://qiita.com/ekzemplaro/items/541b82908cec46f6aa7b)

調べている過程で、MQTT ブローカーに画像をそのまま送れることが分かりました。

次のページを参考にしました。
[mosquitto,paho-mqttで画像のやりとり](https://qiita.com/masa-ramenO/items/6dcb706107e9307a599e)

パブリッシュ
camera.jpg という画像を送ります。

“`sh:go_pub.sh
#
# go_pub.sh
#
# Aug/17/2021
#
BROKER=’violet.local’
TOPIC=’sample/imageTopic’
#
mosquitto_pub -h ${BROKER} -p 1883 -t ${TOPIC} -f camera.jpg
#
“`

サブスクライブ
受け取った画像を output.jpg

元記事を表示

リモートカメラシステム(MQTT ブローカーの検証)

次のシステムを構築するための検証です。
[Grove IoT スターターキット for SORACOM で作るリモートカメラシステム](https://qiita.com/ekzemplaro/items/541b82908cec46f6aa7b)

>画像の受け渡しが MQTT ブローカー経由でできるか。
>画像ファイルは、計測した数値データと較べて、かなり大きい。

以下のプログラムを作成しました。
>jpg を JSON に変換するプログラム
>JSON を publish するプログラム
>subscribe で JSON を受け取るプログラム
>JSON を jpg に変換するプログラム

jpg を JSON に変換するプログラム

“`py:jpg_to_json.py
#! /usr/bin/python
# -*- coding: utf-8 -*-
#
# jpg_to_json.py
#
# Aug/17/2021
#
# ——————————————————————

元記事を表示

ModuleNotFoundError: No module named ‘virtualenv.seed.via_app_data’

### 実行環境
Ubuntu 20.04.2 LTS
Python3.8

### 状況
pipenv install コマンドを実行し、仮想環境を作成しようとしたときにエラー

“`sh
Creating a virtualenv for this project…
Pipfile: /home/youichi_io/work/Pipfile
Using /usr/bin/python3.8 (3.8.10) to create virtualenv…
⠹ Creating virtual environment…ModuleNotFoundError: No module named ‘virtualenv.seed.via_app_data’

✘ Failed creating virtual environment

[pipenv.exceptions.VirtualenvCreationException]:
Failed to create virtual environment.
“`

### 思い当たる要因
以前、Anacondaをインスト

元記事を表示

python3 リスト内包表記のデバッグ

“`python:python3
def debug(w):
print(f’word:{w}’)
return w

list_debug = [“apple”, “lemon”, None, “cat”, “inu”]
list_debug = [debug(s) for s in list_debug]
print(list_debug)
“`

“`text:out
word:apple
word:lemon
word:None
word:cat
word:inu
[‘apple’, ‘lemon’, None, ‘cat’, ‘inu’]
“`

元記事を表示

GCPのCloud ShellのPython2.7.16をPython3.7.3に移行する

##GCPでPython3が使いたい!
LINEBOTかLINE NotifyをGCPでPythonを定期で動かして作ろうとしていました。
そこでGCPのCloud Shellを使うことになりました。
###Cloud ShellのPythonのバージョン確認
Cloud ShellのPythonのバージョンを確認してみると…

“`shell:cloud_shell
$ python -V

********************************************************************************
Python 2 is deprecated. Upgrade to Python 3 as soon as possible.
See https://cloud.google.com/python/docs/python2-sunset

To suppress this warning, create an empty ~/.cloudshell/no-python-warning file.
The command wil

元記事を表示

AtCoder参加記録 No.2 ーABC214

#ABC214
今回参加したABC214についての参加記録

2021年8月14日(土)のAtCoder Beginner Contest 214でした。

https://atcoder.jp/contests/abc214

##結果

A,B問題を正解
レート:16→28 (+12) Highest!
順位:7073/ 8405
時間: A問題53:33 B問題70:09
パフォーマンス:90

##詳細

###A問題
[問題](https://atcoder.jp/contests/abc214/tasks/abc214_a)

提出コード(AC)

“`python:A問題.py
a = int(input())
if a>=212:
print(8)
elif a>=126:
print(6)
else:
print(4)
“`

[提出コード詳細](https://atcoder.jp/contests/abc214/submissions/25045449)

###B問題

[問題](https://atcoder.jp/contests/

元記事を表示

AtCoder参加記録 No.1ーABC195

#ABC195
自分のモチベーションと記憶用にAtCoder参加記録を付けることにしました

初参加は2021年3月13日(土)のパナソニックプログラミングコンテスト(AtCoder Beginner Contest 195)でした。

https://atcoder.jp/contests/abc195

##結果

A,C問題を正解
レート:0→16
順位:5007/7679
時間: A問題55:58 C問題97:08
パフォーマンス:330

##詳細

###A問題
[問題](https://atcoder.jp/contests/abc195/tasks/abc195_a)

提出コード(AC)

“`python:A問題.py
m ,h =map(int,input().split())
if h%m==0:
print(‘Yes’)
else:
print(‘No’)
“`

[提出コード詳細](https://atcoder.jp/contests/abc195/submissions/20892291)

###B問題
[問題](https://a

元記事を表示

AtCoder参加記録 No.0

##挨拶
始めましてこんどうです。
プログラミングもQiitaも初心者ですが自分用に記録をつけようと思います。
AtCoder参加記録を付けるうえでもし参考にする人がいたとき用に自分の経歴について書いておこうと思います。

##バックグラウンド
国立大学工学部化学系大学3年生
プログラミングは大学2年の時に趣味で始める
大学2年の後期に[東京大学の公開講座GCI 2020Winter修了](https://gci.t.u-tokyo.ac.jp/gci-2020-winter/)
大学3年生の4月にITパスポート取得
TOEIC 560点取得 (2021年7月)

##これまでの学習
プログラミングを始めようと思ったきっかけは、コロナで時間が余ったこと、プログラミングができたらかっこいいな、知識があって損はないよね!というすごく漠然とした理由で学習し始めました。
私は基本的に独学でプログラミングを学習しました。
すらPyや独学プログラマーで言語の基礎を学習したのち、データ分析に興味をもち東京大学で機械学習の講座をしているとのことなので参加しました。
また、[サポーターズ](https:

元記事を表示

pythonを使ってnetatmoのapiを叩く

## netatmoとは?

室温とか湿度とかを計測するIoTの機械です。
この機械の中央管理のServerがあり、APIが生えており、こちらのAPIを利用します。
本記事ではAPIをpythonで叩くところまでを実施します。

https://www.netatmo.com/en-us

## どのようなデータが取れるのか?

まずは管理画面のスクリーンショットを添付します。

![スクリーンショット 2021-08-13 18.05.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217551/7ceaddf9-29bf-b533-e059-d2fbd6f48fd3.png)

上の画像はnetatmoの管理画面のスクリーンショットです。
左枠にある、気温、湿度、気圧、CO2濃度、騒音を取得できます。
またこれら追加してAPIの場合には、緯度経度のデータも取得できます。

## データ取得の方法

認証はOAuth2が使われているため、[Netatmo ウェザーステーションのAPIを使ってみる

元記事を表示

多くのPythonコードに型アノテーションしてみたので色々所感を書いてみる

「JavaScriptをTypeScriptへの移行してみた」的な記事を結構見かける一方で、Pythonの型アノテーション関係で近い移行記事などはあまり見ないので「Pythonで型アノテーションってどうなの?」という点などを雑多に記事にしてみました。

# 今まで型アノテーションを使ってきた状況と規模感・前提など

– お仕事では50万行程度の残存するPythonコードで8割強くらいのカバレッジです。ファーストコミットから7年目くらいなので、Python2系から3系へ移行 → 型アノテーションの利用を本格的に開始…としてきたので途中からの型アノテーションの導入です。
– プライベートでは「[apysc](https://github.com/simon-ritchie/apysc)」と「[numdoclint](https://github.com/simon-ritchie/numdoclint)」というPyPI(pip)登録してある2つのライブラリで型アノテーションしてあります。numdoclintは途中からの型アノテーションの利用の開始、apyscは最初から型アノテーションを使う

元記事を表示

SitarHarmonicsさんが書いた「物体の動き」を可視化する処理に、一般物体認識器の解析結果を重ねて表示するコードをMP4動画で動かして成功した件

__前回の記事__の続きです。

__( 前回の記事 )__

https://qiita.com/electronics_diy721/items/114fd7ee50afb8e28d26

__前回__は、SitarHarmonicsさんがウェブサイトで公開しているコードの全体を復元して、動画の各コマに登場する__物体の移動の方向と速さを、線の向きと大きさで可視化して表示__するコードを動かしてみました。

__今回__は、そうした処理と__同時に一般物体認識器を並行処理で走らせる__ことで、動画を再生しながらリアルタイムに__次の3つの情報__を、もとのフレーム画像に書き込んで表示させることに成功しました。

1. __各物体の運動ベクトルの可視化__
1. __各物体の(フレーム画像内での現在)位置を四角枠(矩形)で囲んで表示__
1. __各物体のラベル名を表示__

###実行結果

“`bash:Terminal
% python3 mp4_movie_file_motion_vector_with_object_detection.py –file_path

元記事を表示

【ソース公開】コロナが怖いので冷蔵庫で生存報告するシステム作った

備忘録がてら

# 目次
1. [きっかけ](#きっかけ)
1. [構想](#構想)
1. [成果物](#成果物)
1. [買ったもの](#買ったもの)
1. [そのほか使ったもの](#そのほか使ったもの)
1. [ラズパイのセットアップ](#ラズパイのセットアップ)
1. [電子工作](#電子工作)
1. [LINE Notifyの登録](#line-notifyの登録)
1. [開発](#開発)
1. [システム構成](#システム構成)
1. [プログラム](#プログラム)
1. [システムの監視](#システムの監視)
1. [システムの自動起動](#システムの自動起動)
1. [さいごに](#さいごに)
1. [参考サイト様](#参考サイト様)

# きっかけ
一人暮らしなので


コロナ

人知れず死ぬ



が怖いので危篤状態の検知+生きていることを逐次報告できるシステムを作ろうと思った。

# 構想

やりたいことは

– 自宅にセンサーを取り付けて、24時間検知
– 日常生活の動作から検知できて、シ

元記事を表示

OpenAI Gymで環境を自作しKeras-RLで強化学習させてみた

強化学習の勉強のためにゲーム環境を自作してみました。その際、苦労したことをメモとして残します。

#動作環境

今回使用した主なプログラムを下に記載します。

* Windows10Home
* Anaconda 4.10.3
* Tensorflow 2.5.0
* Keras-RL2
* OpenAI Gym 0.18.3
* Pygame 2.0.1

#ゲームの内容

今回作成したゲームは「地球帰還ゲーム」です。宇宙船を操縦し地球に帰るだけの**しょぼい**ゲームです。
![ufo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/593076/02b09e84-6f4d-9015-3ef8-36712eee954b.png)
左の小さい白い三角形が宇宙船で、右の水色の丸は地球です。宇宙船は上か下に進路を少しだけ変更できますが、速度は変えることができません。宇宙船が画面外に出るか、進路を上げすぎて真上を向くか、もしくは真下を向くと、ゲームオーバー(失敗)です。無事、宇宙船を地球に到達させることができ

元記事を表示

SESAME3をWEB API経由で操作する

いろいろあって会社オフィスの1FにSESAME3を導入しました。

SESAME3+スマホの組み合わせでも十分便利だけど、やっぱりWEB API使いたい!
というわけで始めました。
(1Fだけはスマホで開けてね、って言っても社内から反発ありそうだし…)

さほど難解なところもないので、[公式ページ](https://doc.candyhouse.co/ja/SesameAPI)を見ながら進めれば大丈夫です。
(載せたコードもほぼ公式そのままです)

## 導入環境
– Raspberry Pi 4
– Ubuntu Server 20.04 LTS
– Python 3.9.6
– [SESAME3](https://jp.candyhouse.co/collections/frontpage/products/sesame3)
– [SESAME3用 Wifiモジュール](https://jp.candyhouse.co/collections/frontpage/products/new-wifi?variant=33274961363007)

## WEB

元記事を表示

OTHERカテゴリの最新記事