Udacity Deep Learning實戰(一)
Udacity的深度學習是Google開設的一門基於TensorFlow完成任務的線上課程,課程短小精悍,包括4章(入門ML/DL,DNN,CNN,RNN)、6個小作業(以ipynb的形式,十分方便友好)和1個大作業(開發實時攝像頭應用)。
有ML/DL基礎的同學,視訊很快可以過完,因此課程精華在於其實戰專案,很有意思。作為G家的課程,算是TensorFlow比較權威的學習tutorial了。
Problem 1
用IPython.display來視覺化一些樣本資料:
from IPython.display import display, Image
def visualize(folders) :
for folder_path in folders:
fnames = os.listdir(folder_path)
random_index = np.random.randint(len(fnames))
fname = fnames[random_index]
display(Image(filename=os.path.join(folder_path, fname)))
print("train_folders")
visualize(train_folders)
print("test_folders" )
visualize(test_folders)
Problem 2
使用matplotlib.pyplot視覺化樣本:
def visualize_datasets(datasets):
for dataset in datasets:
with open(dataset, 'rb') as f:
letter = pickle.load(f)
sample_idx = np.random.randint(len(letter))
sample_image = letter[sample_idx, :, :]
fig = plt.figure()
plt.imshow(sample_image)
break
visualize_datasets(train_datasets)
visualize_datasets(test_datasets)
Problem 3
檢查樣本是否平衡(不同樣本的數量差不多):
def check_dataset_is_balanced(datasets, notation=None):
print(notation)
for label in datasets:
with open(label, 'rb') as f:
ds = pickle.load(f)
print("label {} has {} samples".format(label, len(ds)))
check_dataset_is_balanced(train_datasets, "training set")
check_dataset_is_balanced(test_datasets, "test set")
Problem 5
統計訓練集、測試集和驗證集出現重複的樣本:
import hashlib
def count_duplicates(dataset1, dataset2):
hashes = [hashlib.sha1(x).hexdigest() for x in dataset1]
dup_indices = []
for i in range(0, len(dataset2)):
if hashlib.sha1(dataset2[i]).hexdigest() in hashes:
dup_indices.append(i)
return len(dup_indices)
data = pickle.load(open('notMNIST.pickle', 'rb'))
print(count_duplicates(data['test_dataset'], data['valid_dataset']))
print(count_duplicates(data['valid_dataset'], data['train_dataset']))
print(count_duplicates(data['test_dataset'], data['train_dataset']))
Problem 6
使用50、100、1000和5000個和全部訓練樣本來訓練一個off-the-shelf模型,可以藉助sklearn.linear_model中的Logistic Regression方法。
def train_and_predict(X_train, y_train, X_test, y_test):
lr = LogisticRegression()
X_train = X_train.reshape(X_train.shape[0], 28*28)
lr.fit(X_train, y_train)
X_test = X_test.reshape(X_test.shape[0], 28*28)
print(lr.score(X_test, y_test))
def main():
X_train = data["train_dataset"]
y_train = data["train_labels"]
X_test = data["test_dataset"]
y_test = data["test_labels"]
for size in [50, 100, 1000, 5000, None]:
train_and_predict(X_train[:size], y_train[:size], X_test[:size], y_test[:size])
main()
相關推薦
Udacity Deep Learning實戰(一)
Udacity的深度學習是Google開設的一門基於TensorFlow完成任務的線上課程,課程短小精悍,包括4章(入門ML/DL,DNN,CNN,RNN)、6個小作業(以ipynb的形式,十分方便友好)和1個大作業(開發實時攝像頭應用)。 有ML/DL基礎的
Spring 事務配置實戰(一):過濾無需事務處理的查詢之類操作
log pla ssi pan spl tail gif aop img <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes
RabbitMq 實戰(一)
rabbitmq spring boot (消費者處理消息)RabbitMq消息消費者服務 開發工具Idea和Spring boot來開發的。消息消費目前只是一個簡單的Demo,後續會處理成更智能一些。首先配置文件類,RabbitMqConfig,裏面配置一些用戶名和密碼嗨喲隊列信息。package com.
Wicket實戰(一)概述
rac span 下載 本質 jsf xtend 公式 href tar 今天給大家介紹一個很好的東西。一個被稱作Java平臺上的ASP.NET——Wicket。 什麽是Wicket 什麽是Wicket,假設你用谷歌或其它
Linux系統集群架構線上項目配置實戰(一)
linux 項目 實戰 Linux系統集群架構線上項目配置實戰(一)本文出自 “民工哥博客” 博客,請務必保留此出處http://mingongge.blog.51cto.com/2429897/1971210Linux系統集群架構線上項目配置實戰(一)
機器學習實戰(一)—— 用線性回歸預測波士頓房價
-1 png 機器學習 mage 回歸 線性回歸 blog 分享 機器 機器學習實戰(一)—— 用線性回歸預測波士頓房價
全棧性能測試修煉寶典--Jmeter實戰(一)
div 測試用例 ceo 上下文切換 知識 能力 熱點 mongo rac 性能測試方向職業發展 1、軟件測試發展路線 我們可以暫且把軟件測試職業路線分為3個方向,分別是業務路線、技術路線、管理路線;4個象限,分別為執行層、中層、中高層過渡、高層。 (1)業務路線
mmall 項目實戰(一)項目初始化
ant log 初始 post gpo using base inno ole 1.創建 數據庫 及 表 數據腳本: /* Navicat Premium Data Transfer Source Server : 182.92.82.1
Docker從入門到實戰(一)
roc serve net lin 軟件 系統調用 生命 etc before 一步一步走,寫小白都能看懂的文章,將持續更新中,敬請期待! Docker從入門到實戰(一) 一:容器技術與Docker概念 1 什麽是容器 容器技術並不是一個全新的概念,它又稱為容器虛擬化。虛擬
neural network and deep learning筆記(1)
.cn arc AD puts ont release 深入 rem hang neural network and deep learning 這本書看了陸陸續續看
MySQL數據庫從入門到實戰(一)
DBA體系 mysql 非關系型數據庫 SQL優化 第一部分:了解DBA體系一、初級DBA應該掌握哪些技能?(運維人員必會知識)1.MySQL安裝部署2.基本參數配置3.備份策略設計與實現 二、中級DBA應該掌握哪些技能?1.故障處理能力(備份或者其他手段)2.MySQL監控能力3.基本優化能
自動化運維工具Ansible實戰(一)簡介和部署
Ansible 自動化運維 一、Ansible的介紹 Ansible是新出現的自動化運維工具,基於Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點。實現了批量系統配置、批量程序部署、批量運行命令等功能。Ansible是基於模塊工作的,本身沒
Android項目實戰(一): SpannableString與SpannableStringBuilder
append() 同時 uil 註意 1.5 查看 strong 尊重 bject 原文:Android項目實戰(一): SpannableString與SpannableStringBuilder前言: 曾經在一些APP中的一些類似“幫助”&ld
Laravel 完整實戰(一) —— 搭建及配置
laravel composer 實戰 環境: nginx + php + mysql laravel : 5.5開發環境的搭建略過 安裝 laravel composer create-project laravel/laravel [project-name] --prefer-dist
Spark實戰(一)SparkStreaming集成Kafka
round 形式 寫入 some base cal 接下來 會話 支持 Spark Streaming + Kafka集成指南 Kafka項目在版本0.8和0.10之間引入了一個新的消費者API,因此有兩個獨立的相應Spark Streaming包可用。請選擇正確的包,
Docker基礎入門實戰(一)
art The 開機自啟動 inf 應用程序 51cto 管理 x86 正在 Docker基礎入門實戰第1章 docker簡介1.1 what is DockerDocker是一個開源的應用容器引擎,基於Go語言並遵從Apache2.0協議開源,源代碼部
【原創】MapReduce實戰(一)
tid refs 讀取 sel instance 網站 let 創建 -c 應用場景: 用戶每天會在網站上產生各種各樣的行為,比如瀏覽網頁,下單等,這種行為會被網站記錄下來,形成用戶行為日誌,並存儲在hdfs上。格式如下: 17:03:35.012?pageview?{"d
Flask框架的學習與實戰(一):開發環境搭建
進行 read 模型 clas tar pychar html itl .html Flask是一個使用 Python 編寫的輕量級 Web 應用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎則使用 Jinja2。很多功能的實現都參考了django框架。由於項
微服務分散式事務實戰(一) 專案需求描述和實現步驟
本文通過一個具體例項如何實施springCloud 分散式事務,不對分散式事務理論做探索。由於內容較多,分多個小節來說明 案例需求: 建立2個基於springCloud的微服務,分別訪問不同的資料庫;然後建立一個整合服務,呼叫微服務實現資料的儲存到2個不同的資料庫,要求採用分散式事務,要麼都
機器學習實戰(一)k-近鄰kNN(k-Nearest Neighbor)
目錄 0. 前言 1. k-近鄰演算法kNN(k-Nearest Neighbor) 2. 實戰案例 2.1. 簡單案例 2.2. 約會網站案例 2.3. 手寫識別案例 學習完機器學習實戰的k-近鄰演算法,簡單的做個筆記。文中