用TensorFlow+Keras訓練辨識驗證碼的CNN模型

Python機器學習程式語言

大學選課系統自動填入驗證碼 這篇介紹了如何利用驗證碼語音播放功能的bug來填入驗證碼

本篇就來實作看看利用近年來很熱門的卷積神經網路(CNN)學習並辨識驗證碼

驗證碼示意圖:

 

安裝所需的套件

在開始前我們會用到以下套件,這是我在寫本篇親測可正確執行的版本組合

MacOS 10.14.6
Python: 3.7.3
numpy: 1.18.0
scikit-learn: 0.22
TensorFlow: 2.0.0
Pillow: 6.2.1

如果有缺少的可以使用pip來安裝

NumPy: pip install numpy
scikit-learn: pip install scikit-learn
TensorFlow: pip install tensorflow
Pillow: pip install Pillow

大學選課系統自動填入驗證碼

JavaScript生活DIY程式語言網路概論資訊安全雜記

大學生涯最後一次搶課結束了,來分享一下歷年搶課的技巧:)

自動填入學號、密碼這個瀏覽器的通常都有選項可以幫我們記憶

所以今天的主題是驗證碼的部份,如何自動填入驗證碼

 

我們學校的選課登入頁長這樣,以前是沒有驗證碼需要填的

但我印象從106學年度起,學校可能是為了舒緩伺服器瞬間的高流量

用驗證碼這種方式來卡一部份的人潮降低伺服器的負載 (什麼歪理,為什麼不升級伺服器配備 ((怒~

沒關係,道高一尺魔高一丈,搶課的時間分秒必爭,我們總得想個辦法秒殺掉驗證碼

於是經過百般研究這個登入頁面後,終於發現驗證碼圖示旁邊的語音播放按鈕藏有玄機

FFmpeg串接多個影片

Linux、Mac應用程式

用攝影機拍攝影片時,影片檔案大小超過4GB會被自動切成不同檔案(因應FAT32的單一檔案大小上限),所以拿到電腦上觀看時就有了串接影片的需求

但是就只是純粹串切影片而已,開Ae、Pr等等軟體實在是太大材小用了,這時FFmpeg就會是一個不錯的選擇

 
首先,把要串接的影片放到同一資料夾,並且創建一個clips.txt檔案

clips.txt裡面依序列出要串接的檔案

file 'first.mp4'
file 'second.mp4'
...

最後,只要執行以下指令就可以得到名為output.mp4串接好的檔案了

ffmpeg -f concat -i clips.txt -c copy output.mp4

Matplotlib重疊不同Y軸規模的資料

Python程式語言

前些日子在做深度學習的課堂專題時,希望能把訓練中的神經網路所玩遊戲走的步數記錄下來

輸出成圖表,好以觀察神經網路是否有乖乖照我們的設計去學習

不難,用python的matplotlib一下就做出來了

圖雖然是出來了,但因為有兩萬多筆訓練時玩遊戲走的步數,折線圖整個擠成一團

只能免強看到有點在上升的趨勢

Docker Compose File (TensorFlow)

Docker

不想把TensorFlow硬生生安裝在作業系統上

剛好它有Docker可以用,何樂不為呢

 
TensorFlow.yml:

version: '3.1'

services:

	TernsorFlow:
		container_name: TensorFlow
		image: tensorflow/tensorflow:latest-py3
		restart: unless-stopped
		network_mode: "bridge"
		ports:
			- 6006:6006
		tty: true
		command: /bin/bash
		volumes:
			- /Users/AndyWu/Documents/Docker/TensorFlow:/TensorFlow

 

docker-compose -f TensorFlow.yml up -d
docker exec -it TensorFlow bash