之前才加了疫情cv的打卡營,大概了解了paddlepaddle是如何構建神經網路、訓練模型、使用模型,但再過程中由於對python不了解**寫起來比較困難。所以,當得知有python基礎的打卡營,就第一時間報名了。
一 感觸
到現在一共上了6次課, 前3次是python相關的知識,後3節課是基於paddlehub和easydl相關的使用。關於python基礎課程感覺只是入門,還需要自己多看多練。後3次課給我的感觸很深主要有2點:
1. paddlehub 可以將模型運用於工程,降低深度學習模型使用門檻,非常適合不了解深度學習和神經網路構建的人來使用深度學習技術。對我個人而言,可以不用學習複雜的演算法和神經網路的搭建一樣可以是用深度學習技術來解決專案中的問題。
二 應用
1. 命令列直接是模型:
$ hub run lac --input_text "現在,慕尼黑再保險公司不僅是此類行動的倡議者,更是將其大量氣候資料整合進保險產品中,並與公眾共享大量天氣資訊,參與到新能源領域的保障中。"
$ hub run senta_bilstm --input_text "今天天氣真好"
]
其他模型的具體的使用可以參見paddle官網:
還有paddlehug的github :
2. paddle作業分享-paddlehub之《青春有你2》作業:五人識別
任務《青春有你2》 排名前五的任務識別(5分類任務)
### step1、基礎工作,匯入包
import paddlehub as hub
### step2、載入預訓練模型
module = hub.module(name="resnet_v2_50_imagenet")
### step3、資料準備
from paddlehub.dataset.base_cv_dataset import basecvdataset
class demodataset(basecvdataset):
def __init__(self):
# 資料集存放位置
self.dataset_dir = "dataset"
super(demodataset, self).__init__(
base_path=self.dataset_dir,
train_list_file="train_list.txt",
validate_list_file="validate_list.txt",
test_list_file="validate_list.txt",
label_list_file="label_list.txt",
)dataset = demodataset()
### step4、生成資料讀取器
data_reader = hub.reader.imageclassificationreader(
image_width=module.get_expected_image_width(),
image_height=module.get_expected_image_height(),
images_mean=module.get_pretrained_images_mean(),
images_std=module.get_pretrained_images_std(),
dataset=dataset)
### step5、配置策略
config = hub.runconfig(
use_cuda=false, #是否使用gpu訓練,預設為false;
num_epoch=10, #fine-tune的輪數;
checkpoint_dir="cv_finetune_turtorial_demo",#模型checkpoint儲存路徑, 若使用者沒有指定,程式會自動生成;
batch_size=3, #訓練的批大小,如果使用gpu,請根據實際情況調整batch_size;
eval_interval=10, #模型評估的間隔,預設每100個step評估一次驗證集;
strategy=hub.finetune.strategy.defaultfinetunestrategy()) #fine-tune優化策略;
### step6、組建finetune task
input_dict, output_dict, program = module.context(trainable=true)
img = input_dict["image"]
feature_map = output_dict["feature_map"]
feed_list = [img.name]
task = hub.imageclassifiertask(
data_reader=data_reader,
feed_list=feed_list,
feature=feature_map,
num_classes=dataset.num_labels,
config=config)
### step=7、開始finetune
run_states = task.finetune_and_eval()
### step=8、**
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
with open("dataset/test_list.txt","r") as f:
filepath = f.readlines()
data = [filepath[0].split(" ")[0],filepath[1].split(" ")[0],filepath[2].split(" ")[0],filepath[3].split(" ")[0],filepath[4].split(" ")[0]]
label_map = dataset.label_dict()
index = 0
run_states = task.predict(data=data)
results = [run_state.run_results for run_state in run_states]
for batch_result in results:
print(batch_result)
batch_result = np.argmax(batch_result, axis=2)[0]
print(batch_result)
for result in batch_result:
index += 1
result = label_map[result]
print("input %i is %s, and the predict result is %s" %
(index, data[index - 1], result))
GNN 百度GNN7日打卡營心得
本次打卡營收穫許多,了解到圖更深層次的應用。許多演算法的機理是簡單的,卻能有巨大的應用。第一次課是對圖論的複習以及圖學習的乙個初步介紹,我的學習筆記可見 第二次課是對圖遊走類模型中的deepwalk node2vec methpath2vec進行介紹。因為如果一幅圖很大 節點 邊數太多 則在訓練時若...
百度7日強化學習總結
基本概念包括 兩部分 agent智慧型體,environment 環境 三要素 state狀態,動作action,reward獎勵。agent學習兩種策略 基於價值的value based 隨機性策略,代表性的有sarsa,q learning,dqn 基於策略的policy based 隨機性策略...
百度強化7日打卡學習心得
強化學習包含智慧型體和智慧型體所在的環境兩部分,如下圖,智慧型體又要和環境進行互動,互動主要是指智慧型體的動作會根據環境的狀態獲得獎勵或懲罰,如下圖,強化學習的應用也很廣泛,如下圖,強化學習和其他學習的關係,如下圖,強化學習對比其他學習注重的是決策問題,通過智慧型體與周邊環境的互動學會了如何能獲得更...