2020-04-01から1ヶ月間の記事一覧

pythonで入力がある限りループする(while文)

pythonで入力がある限り値を取得し、処理を行うにはwhile文を用いる。 C言語では入力がEOFでない限りループ、のような書き方ができるが、僕の知っている限りではpythonではできない。 代わりにwhileループの中で入力を取得し、それが値かEOFかを判断する。 E…

Dockerでコンテナの作成、削除

Dockerを用いて仮想環境を構築する。 Dockerはインストール済みとする。 仮想環境を作るにはまずイメージ(image)が必要だ。このイメージを見て環境が作られる。 $ docker images ですでにインストールされているイメージが確認できる。 また、Docker Hubから…

TypeError: cannot perform reduce with flexible type

pythonコードをはしらせ、以下のようなエラーが出た場合、 TypeError: cannot perform reduce with flexible type intやstrに注意するべき。 自分の場合、ある関数にint型の引数を与えるべきところにstr型を与えてしまい、このようなエラーが出た。 関数に適…

YUViewを用いたYUV動画の再生

YUViewはオープンソースのYUVプレイヤーである。 インストール方法は以前の記事、 YUViewでHMの符号化によるbinファイルの考察 - jskangarooのブログ に示す。 インストールが完了すれば、左側にあるOpenボタンから動画を読み込む。 だが、読み込んでも動画…

RuntimeError: output with shape [1, 28, 28] doesn't match the broadcast shape [3, 28, 28]の対処法

pytorchでMNISTデータセットを用いる際に RuntimeError: output with shape [1, 28, 28] doesn't match the broadcast shape [3, 28, 28] というエラーが出るかもしれない。 これはデータセットの準備をする際のtransformの部分に原因がある。 transform = t…

pythonで文字列の一部を変更するには

例えばstring = "abracadabra"があったとする。 string[5]は'a'であり、これを'k'に変更したいとする。 C言語などでは単純にstring[5]='k' とすればよいが、pythonではそのような操作はサポートされていない。 よってできることは2つだ。 1. 一度リストにお…

MATLABでPSNRの計算

MATLABでは2枚の画像のPSNRを計算する関数が準備されている。 以下のように書くことでPSNRが計算できる。 ref = imread('画像1へのパス'); target = imread('画像2へのパス'); ans = psnr(target, ref) 実行ボタンをを押すと結果が出力される。

pythonでディレクトリを作成する際のテクニック

ターミナル(端末)からディレクトリを作成するように、pythonのプログラムからディレクトリを作成することができる。 それを行うにはまずはimport osを始めに書く必要がある。 次に os.mkdir("作成したいディレクトリ") これで作れる。 また一つテクニック…

HMのcfgファイルのフレーム番号、POC、QPfactorについて

HEVC参照ソフトウェアであるHMは圧縮を行う際、cfgファイルをもとに行う。 cfgファイルには圧縮を行う方法などが書かれている。 例えばRandom Accessには # Type POC QPoffset QPfactor Frame1: B 8 1 0.442 Frame2: B 4 2 0.3536 Frame3: B 2 3 0.3536 Fram…