Python関連のことを調べてみた2022年04月19日

Python関連のことを調べてみた2022年04月19日

動画ファイルを簡単にチャプター付きで結合します

# 動画ファイルを簡単(再エンコードしないで)に結合して結合部分にチャプターを自動生成するスクリプトを、python を使って書いてみました

## 要件定義
1. mp4, mkv ファイルを再エンコードしないで結合したい
1. 楽したい!(使いまわしができるように)
1. Windows10 環境で動く
1. python, ffmpeg, mkvmerge などのインストールはできる前提
1. すでにチャプターがついているファイルはそのチャプターを利用したい

– こんな感じで要件を確定させて、実際にどのツールを使っていくのか?を検討していきます

## 検討結果(=機能リスト)
1. Windows10でのみ検証しています(Linuxでも少しの修正で動くはず)
1. チャプターを簡単に作成するため最終的なファイルフォーマットを mkv にする
1. 結合するファイルのファイル名をチャプター名として利用
1. mkvファイルで、すでにチャプターがついている場合はそのまま利用する
1. 結合元のソースファイルは、mp4 or mkv のみ
1. 結合するファイルの順番は pytho

元記事を表示

Pyenv + PoetryでPythonの環境を作る。(覚書)

## 目的
個人的なPythonの開発環境を作るために、PyenvとPoetryでパッケージ管理とPythonのバージョン管理を実施する。

## Pyenv+Poetryの設定

“`
% pyenv versions
system
3.8.13
* 3.9.11 (set by /path/to/project/.python-version)
% pyenv local 3.8.13
% poetry env use 3.8

NoCompatiblePythonVersionFound

The specified Python version (3.8.13) is not supported by the project (3.9.11).
Please choose a compatible version or loosen the python constraint specified in the pyproject.toml file.

at /usr/local/Cellar/poetry/1.1.13/libexec/lib/pyt

元記事を表示

EnvaderでPythonの環境構築を学んだのでmacで実践してみる(第1回)

## はじめに
はじめまして、a-min3150です。エンジニアへの転職を目標に日々、学習中です。
アウトプットのためEnvaderで学習したこと、ハマったことなどを書いていきたいと思います。

## 今回の学習内容
EnvaderでPythonの環境構築について学習したのでアウトプットします。
今回は第1回目でmacでのPythonをインストールする方法を実践していきます。

## Pythonとは
Pythonは、数あるプログラミング言語のうちの一つです。オランダのエンジニアであるGuido van Rossum氏によって開発され、1990年代初頭頃から公開されています。Pythonは「コードの読みやすさ・書きやすさ」そして「汎用性の高さ」といった特徴により、世界的に人気を博している言語です。アプリケーション開発やゲーム開発に加え、近年では、AIや機械学習、データサイエンスなど、幅広い分野で活用されています。

## Pythonのバージョン
Pythonのバージョンには大きく分けて2系と3系の2つがあります。
2系と3系には文法や機能面で差異があり、相互に互換性がありません。2

元記事を表示

nondominated sortを高速に計算する

## はじめに
表題の通り,高速なnondominated sortの計算に必要な関数を作りました.
nondominated sortとは主に多目的最適化においてサンプルの優劣をつけるために利用されるSort方法です.

## 実装
以下の `nondominated_sort` 関数では入力 `costs (shape := (n_points, n_costs))` に対して,`ranks (shape := (n_points, ))` を返します.

“`python
import numpy as np

def is_pareto_front(costs):
on_front_indices = np.arange(costs.shape[0])
(n_points, _) = costs.shape
next_index = 0

while next_index < len(costs): nd_mask = np.any(costs < costs[next_index], axis=1) nd_ma

元記事を表示

Pythonで動画などの大容量データのハッシュ値を出す方法

数GB〜数百GBほどの大容量の動画データが複数あり、各データのハッシュ値(MD5など)を書き出してテキスト保存したいと考えています。
数GBのデータファイルであればpythonのコードで書き出すことができたのですが、1ファイルで数百GBの動画データになるとパソコンが落ちてしまいます。
メモリの問題だと思うのですが、Pythonでは1ファイルで数百GBのデータを扱うのは難しいいのでしょうか?
それとも、コーディングの方法によっては可能なのでしょうか?
もし可能であれば、なにかヒントになる情報があれば教えていただきたく思っています。

windowsであればオープンソースのソフトウェア(Hashcheck shell extention)などを使用するのですが、macPro(メモリ96GB)を使用しているためフリーソフトがなく、趣味で勉強しているpythonでできないかと試行錯誤しています。
よろしくお願いします。

[サンプルコード]

for file_mov_path in glob.glob(file + ‘/’ + ‘*.mov’):
file_name

元記事を表示

streamlit authenticatorを用いてログインページを作る

# はじめに
MVCという概念を学んだので練習とstremlitの勉強を兼ねてWEBアプリを作ってみました。
[streamlit-authenticator](https://github.com/mkhorasani/Streamlit-Authenticator “githubのURL”)を使い簡単なログイン機能を作ってみます。

# 環境
– 実行環境
Windows10
python3.9.7

# Demo
ユーザの追加機能とログイン機能
![demo.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/555466/fa9066a7-52fc-43fb-0077-fc9185743f2e.gif)

# Streamlitについて
詳しく書いて下さっている記事が多々あるので省略
もしくは、[公式サイト](https://streamlit.io/components “公式URL”)を参照してください。

# Streamlit Aauthenticatorについて
ログイン機能に

元記事を表示

形態素解析器の比較アプリを作ってみた【NEologd】

https://huggingface.co/spaces/tomofi/NEologd

形態素解析器ごとに結果を比較できるアプリ作ってみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208363/c342512d-c0c5-0df6-d3c5-dc4ae0bbdc2e.png)

streamlitで作ってます。HuggingFace Spaceなら16GB RAM と 8 CPUが無料で使えておすすめです。

“`python:app.py
import os

os.system(‘git clone –depth 1 https://github.com/neologd/mecab-ipadic-neologd.git && cd mecab-ipadic-neologd && ./bin/install-mecab-ipadic-neologd -n -y -u -p $PWD’)
os.system(‘git clone –depth 1 https://

元記事を表示

TensorFlowで転移学習 InceptionV3モデル & CIFAR-10 編

## 学習済 InceptionV3におけるTensorFlowによる転移学習「CIFAR-10」編
### はじめに
[前回投稿した](https://qiita.com/gotto42994299/items/113d7ea6d4424e7a1959)コードを変更して、学習済モデルInceptionV3の転移学習を行ってみました。
* 「Kaggle cats and dogs」での確認結果は[こちら](https://qiita.com/gotto42994299/items/c1540907952f897afed8)に投稿を載せております。
### 条件
* オープンデータ:CIFAR-10 ※メモリ不足に陥った為、使用したデータは半分です。
* データ形状:32x32x3を75x75x3にリサイズ ※[Keras](https://keras.io/api/applications/inceptionv3/)の条件に75×75ピクセル以上と記載あり
### 結果
結果から先に申しますと精度は上がった物の期待するほどではありませんでした。
学習データを半分にした事と

元記事を表示

アリバイ工作のために写真のExif情報の日付を変更する

# 概要
撮影画像のExifの日時を変更する。例として現在時刻に変更する。
処理対象の画像⇒FullSizeRendser-1024×678.JPG
# コード
“`python:
import pyexiv2
import datetime
# 現在時刻取得
dt_now = datetime.datetime.now()

# ファイルオープン
img = pyexiv2.Image( “FullSizeRendser-1024×678.JPG” )

# メタデータ読み込み
metadata = img.read_exif()

# 撮影時刻 を 現在時刻 に書き換え
metadata[“Exif.Image.DateTime”] = dt_now

# メタデータ を img に書き戻し
img.modify_exif( metadata )

# ファイルクローズ
img.close()
“`

元記事を表示

LTE-MモジュールSIM7080Gをpython&micropythonで使う

# はじめに

前回こちらの記事では**M5Stack CAT-M UNIT(SIM7080G搭載)** を
M5sticckCのarduino開発環境で使ってみました
[M5Stack CAT-M UNIT をSORACOMで使う](https://qiita.com/m_take/items/e2d946cbaf5b4131116d)

今回はラズパイのpythonとラズパイPicoのmicropython を使ってHTTP POST/GET をやってみました。
送信先には[**Abmient**](https://ambidata.io/)を、simは[**povo**](https://povo.jp/)を使うことによりWifiのない屋外でもランニングコストは無料でIoT を試せます。

**arduino** 開発環境(マイコンはESP8266/ESP32)では[**TinyGsm**](https://github.com/vshymanskyy/TinyGSM) と [**Ambient_ESP8266_lib**](https://github.com/AmbientD

元記事を表示

Blender の UV データが入り組んでいる件

# 簡単な立体クイズ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/288125/25b8ca73-0807-57c7-2948-2d18969d518b.png)

 デフォルトキューブがあります。当然ながら頂点は 8 個、面は 6 個あります。

“`python
mesh = bpy.data.meshes[‘Cube’]
for vert in mesh.vertices:
print(vert.co)
“`

“`python






元記事を表示

Flaskで自動的に化学小テストを生成するアプリを作った話

どうも、小田急電鉄株式会社初のIT開発エンジニア、Xuです。

実は仲がいい隣人が化学の教師をやっていて、
「毎回授業で高校一年生に小テストを出してるんだけど、出題するのがめんどくさい」
と言われ、彗星のごとく現れた自動化の天才(自称)として見逃せない事態だと認知し、
重たいVBAでテスト問題を生成していた隣人を助けるべく始めたプロジェクトです。
地味に初めてflaskアプリを公開するので色々とコード汚い野はご愛嬌ということで( ´∀` )

## 環境
-AWS EC2(t2.micro無料枠)
-Ubuntu 20.04
-Apache2
-Python3.8

## 前準備
考え方としては
(xg/xmol/xL)の(物質名)の(体積/質量/物質量)的な文を自動的にPDFに生成していき、
出来上がった問題がいい感じであればファイルをダウンロードするというシンプルなもの。

ディレクトリ構成
/var/www/html/
|
|—app
|  |
|  |–flask_app
|  |
|  |–app.wsgi
|
|—static
  |
  |–templat

元記事を表示

macOS Montereyでpyenv installが失敗したときの記録

### 環境
– macOS Monterey 12.3.1
– Command Line Tools for Xcode 13.3.1 (ソフトウェアアップデートでインストール)
– `pkgutil –pkg-info=com.apple.pkg.CLTools_macOS_SDK`
– pyenv v2.2.5 [GithubからCloneしてインストルしたもの](https://github.com/pyenv/pyenv#basic-github-checkout) (**homebrewではない**)
– zlibはhomebrewでインストール済み
– `brew install zlib`

### 原因
最新のmacOSのzlibを使うとうまく行かない。
(それ以上はわからないすまん)

### 解決方法
pyenvのプラグインとして付属しているpython-buildを書き換えた。
(homebrewのpyenvの人はすまんわからん)

変更するファイル:
`~/.pyenv/plugins/python-build/bin/python-build`

元記事を表示

FlaskでLINEBotを作成してみる

Python 3.7.8
Flask 2.1.1
heroku 7.53.0

## 作成手順
1.LINE developersへ登録
2.コーディング
3.herokuへの配置

### 1.LINE developerへの登録
https://developers.line.biz/ja/へアクセス
サイト右上のログインから自分のラインアカウントを使用しLINE developersへ登録
![LINE_Developersホーム画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1770621/ffc2ce70-d062-d2b3-c33e-03defc3b8c46.png)
ここでは今回作成したproductというチャネルが表示されています。

プロバイダーの作成を押し、プロバイダー名を入力します。
その後Messaging APIを選択し、チャネルを作成しておきます。

### 2.コーディング
タイトルにもあるように今回はPythonのフレームワークであるflaskを使用して実装を行います

元記事を表示

光と色の計算 ~巷でよく聞くRayTracingについて~

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/581710/778392ff-591b-91b8-6e9c-a26b91717d06.png)
去年Googleが発表した「Total Relighting」
一枚の画像から、人物を切り出し、背景に合わせて人物のライティングを自動で調整する手法。

・・・らしいのですが。すごいですよね。
フォトリアルというと、最近は3D分野の目覚ましい発展を連想しますが、
3Dはどうしても装置や機材に依存するイメージが付きまといます。
もしもiphoneなどの単眼カメラで実現できるようになれば、
表現の世界はさらに次のステージに進めそうです。

ということで今回はそんな「フォトリアル」な世界について勉強します。
できるだけ数式と実際のソースに基づいて理解を深めていきます。(目標)

参考:
https://www.scratchapixel.com/lessons/3d-basic-rendering/ray-tracing-overview/light

元記事を表示

【Ubuntu】Jupyter LabでDeep Learningできる環境(Dockerコンテナ)を構築・Imageに保存(軽量版)【深層学習】

# 1. 背景
前回投稿した記事([【LAN内 or WANから】ssh接続したUbuntuマシンのDockerコンテナ内でJupyter Labを起動・カスタマイズ【深層学習用】](https://qiita.com/greentiger/items/7c71708cc108f73707df))では,Anacondaをインストールするなどして,様々な環境を作りやすくしましたが,完成したDocker Imageのサイズは20GBとなり,コンテナを大量に作成すると,PCの容量を圧迫してしまうということや,最初のセットアップで大量のインストールをするため時間がかかってしまう,といったデメリットがありました.

それを解消すべく,Docker Imageのサイズが約4.4GBとなる軽量版の構築方法を試したので備忘録として記述します.
Anacondaにこだわらない方向けです.

前回の記事には記述していた「ssh接続の準備」などの部分や大まかな流れは特に変わらないので一部省略しています.
主に前回との変更点を記述しています.
# 2. 前提
## PC環境
GPUマシンは前回の記事のものとは

元記事を表示

MultipassでDockerを構築方法

# 概要
Docker-Desktopが有料になったのでDocker-Desktopを使わずにDockerを使えるように設定してみた

## Multipassって何
[Multipass](https://multipass.run/docs) は、クラウド的なUbuntu VMをMACとWindowsで作成できるツールとなる。

## 事前のインストール

### Docker
“`bash
brew install docker
“`

### Docker-Compose
“`bash
brew install docker-compose
“`

### Multipass
“`bash
brew install –cask multipass
“`

上記の三つが無事にインストールできたなら始めましょう

# セットアップ手順

## VM の立ち上げ

### cloud-init.yaml
MultipassでVMを立ち上げる時に `cloud-init` オプションで初期設定を指定できるので便利な昨日だと思う。
今回は僕が使った `cloud-init.

元記事を表示

パーセプトロンについて

# はじめに
ディープラーニングの元であるパーセプトロンについて理解する。
私が調べて学習した範囲なので、抜けている点や疑問点がありましたら、そちらは各々調べていただければと思います。
また、間違っている部分がありましたらご指摘いただけると幸いです。

# 前提知識
パーセプトロンについて理解するうえで必要となる前提知識。

## ANDゲートとNANDゲート
**ANDゲート**
二値の条件を満たしている(True)時、出力することができる。
x1 | x2 | y
:—:|:—:|:—:
0 | 0 | 0
1 | 0 | 0
0 | 1 | 0
1 | 1 | 1

**NANDゲート**
二値の条件を満たしていない時にTrueになる。逆に二値の条件を満たしている時はFalseになる。
NANDゲートはANDゲートの逆のゲートである。
x1 | x2 | y
:—:|:—:|:—:
0 | 0 | 1
1 | 0 | 1
0 | 1 | 1
1 | 1 | 0

## ORゲートとNORゲート
**ORゲート**
二値の条

元記事を表示

とりあえずプログラムを実行してみた【ゼロからPython勉強してみる】

# はじめに
[前回](https://qiita.com/_starfields_/items/fb3b73db7fff41d567e4)までで、色々と入門記事を読みながらPythonの開発環境を整えてみました。
今回は、例のごとく先人の記事を参考にしてPythonでプログラムを実行してみるところまでやっていきます。
単語等の意味も調べながらで完全に理解していないため、まわりくどい書き方が多いです。
誤った認識等があればご指摘ください。

# プログラムの動かし方
前々回の記事でPythonの公式ページから、Pythonというプログラミング言語で書くソースコードを実行するためのインタプリタ(CPythonと呼ばれるらしい)をインストールした。このCPythonのようなインタープリタやコンパイラというものを「処理系」と呼ぶらしい。

参考

https://qiita.com/ogata-k/items/b4a2d0cbf90f246aca14

ということで私の環境では処理系がCPythonのバージョン3.10というのはわかった。
しかし、実際のところどのようにプログラムを実行すれば

元記事を表示

スクレイピングから形態素分析・BIツールの可視化まで①

# ニュースのワード分析①
### ~スクレイピングからBigQueryに挿入まで~

## きっかけ

 野球ニュースをスクレイピングし, そのニュースで使用されている言葉を分析したいと思いました(私は阪神ファンであるが, たしか開幕1勝14敗?という奇跡的なの記録を刻んだ. この負け込んでいるニュースの分析を行いたいと思いっています)

## 目次

1. 分析フロー
2. 対象サイトの決定
3. スクレイピング
4. BigQueryでの作業
5. スクレイピングしたデータをテーブルに挿入
6. 課題
7. 次回以降の作業
8. 参考文献

## 1. 分析フロー

 画像では大まかな作業内容を示しました. 対象となるウェブサイトからスクレイピングを行い, その内容をBigQueryに適宜挿入します. その後BigQueryに格納されているデータを使用して, PythonもしくはBIツールで分析を行います.

![ スクリーンショット_2022-04-17_23.01.49.png](https://qiita-image-store.s3.ap-northeast-1.ama

元記事を表示

OTHERカテゴリの最新記事