日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习-Tensorflow2.2-一维卷积网络{12}-一维卷积实例-27

發布時間:2024/9/15 pytorch 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习-Tensorflow2.2-一维卷积网络{12}-一维卷积实例-27 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一維卷積








航空公司評論數據集

import tensorflow as tf import matplotlib.pyplot as plt %matplotlib inline import numpy as np import pandas as pd import os import re # 顯存自適應分配 gpus = tf.config.experimental.list_physical_devices(device_type='GPU') for gpu in gpus:tf.config.experimental.set_memory_growth(gpu,True) gpu_ok = tf.test.is_gpu_available() print("tf version:", tf.__version__) print("use GPU", gpu_ok) # 判斷是否使用gpu進行訓練 # 讀取數據 data = pd.read_csv ("F:/py/ziliao/數據集/Tweets.csv") data.head()

data = data[["airline_sentiment","text"]]

data.airline_sentiment.value_counts()# 查看各評論的條數

data_p = data[data.airline_sentiment=="positive"] data_n = data[data.airline_sentiment=="negative"] data_n = data_n.iloc[:len(data_p)] # 我們從差評里取出好評這么多數據讓數據一致


數據預處理

# 創建新的數據 data = pd.concat([data_n,data_p]) len(data) data = data.sample(len(data))# 亂序 data

# 處理label # 返回布爾值,把布爾值astype成int類型 賦值給review列 data["review"] = (data.airline_sentiment=="positive").astype("int")

del data["airline_sentiment"] #刪除該列


處理文本

token = re.compile("[A-Za-z]+|[!?,.()]")# 編寫一個正則取出A-Z a-z !?,.() def reg_text(text):new_text = token.findall(text) # 提取字符new_text = [word.lower()for word in new_text] # 變成小寫return new_text data["text"] = data.text.apply(reg_text) # 字符處理后重新賦值給text

# 提取出文本中的唯一單詞 word_set = set() for text in data.text:for word in text:word_set.add(word)

len(word_set)# 查看單詞數 max_word = len(word_set)+1 max_word # 構造一個 英文單詞:索引 word_list = list(word_set) # 轉換成列表 word_list.index("customersfirst")

# 轉換成 英文單詞:數字索引 把所有數字+1 表示不從0開始數數 word_index = dict((word,word_list.index(word)+1) for word in word_list) word_index

# 對數據集進行轉換 如果未匹配到 0作為填充 data_ok = data.text.apply(lambda x:[word_index.get(word,0)for word in x])

max(len(x)for x in data_ok),min(len(x)for x in data_ok) # 查看評論長度 maxlen = max(len(x)for x in data_ok) # 對所有評論安裝最大長度進行填充 填充為0 data_ok = tf.keras.preprocessing.sequence.pad_sequences(data_ok.values,maxlen=maxlen)

data_ok.shape # 數據

label = data.review.values # label label


建立模型

model = tf.keras.Sequential() model.add(tf.keras.layers.Embedding(max_word, 50, input_length=maxlen)) model.add(tf.keras.layers.Conv1D(32, 7, activation='relu', padding='same')) model.add(tf.keras.layers.MaxPooling1D(3)) model.add(tf.keras.layers.Conv1D(32, 7, activation='relu', padding='same')) model.add(tf.keras.layers.GlobalAveragePooling1D()) model.add(tf.keras.layers.Dense(1, activation='sigmoid'))

# 編譯模型 model.compile(optimizer=tf.keras.optimizers.RMSprop(),loss='binary_crossentropy',metrics=['acc'] ) # 訓練 history = model.fit(data_ok,label, # 訓練數據及labelepochs=10, # 訓練步數batch_size=50, # 每次訓練50個數據validation_split=0.2 # 從訓練集中分割出20%作為測試集 )

總結

以上是生活随笔為你收集整理的深度学习-Tensorflow2.2-一维卷积网络{12}-一维卷积实例-27的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。