python深度学习库keras——安装

TensorFlow安装

keras需要在TensorFlow之上才能运行。所以这里安装TensorFlow。TensorFlow需要vs2015环境,需要wein64位环境,所以32位的小伙伴需要升级为64位系统以后才行。

第一种方式使用pip安装

如果只想专用cpu加速,安装

pip install --upgrade tensorflow

如果想使用gpu加速,还需要安装

pip install --upgrade tensorflow-gpu

安装以后还需要cuda显卡驱动,可参考https://www.cnblogs.com/fanfzj/p/8521728.html

第二种方式使用Anaconda安装

下载安装Anaconda,安装后再Anaconda Prompt中输入以下命令,创建conda环境

conda create -n tensorflow python=3.6

输入以下命令,激活tensorflow环境

activate tensorflow

安装tensorflow

pip install tensorflow

keras安装

keras搭建在tensorflow基础上,在安装keras安装之前需要安装tensorflow、numpy、matplotlib、scipy。

tensorflow只能安装在64位的电脑上。

我们使用anaconda安装学习,因为在anaconda已经安装了很多库。

pip install numpy
pip install matplotlib
pip install scipy
pip install tensorflow
pip install keras

在安装keras遇到一下错误
parse() got an unexpected keyword argument ‘transport_encoding’


conda install pip
pip install keras

  • 32
    点赞
  • 147
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
好的,以下是使用Keras构建情感分析模型的代码示例: 首先,需要导入需要的: ```python import pandas as pd import numpy as np from keras.preprocessing.text import Tokenizer from keras.preprocessing.sequence import pad_sequences from keras.models import Sequential from keras.layers import Embedding, Conv1D, GlobalMaxPooling1D, Dense ``` 接着,读取数据集并进行预处理: ```python # 读取数据集 data = pd.read_csv('sentiment_analysis.csv') # 将文本转换为小写 texts = data['text'].apply(lambda x: x.lower()) # 将标签转换为数字:0表示负面情感,1表示正面情感 labels = np.array([0 if label == 'negative' else 1 for label in data['label']]) ``` 然后,进行单词向量化: ```python # 将文本转换为单词序列 tokenizer = Tokenizer(num_words=5000) tokenizer.fit_on_texts(texts) sequences = tokenizer.texts_to_sequences(texts) # 对单词序列进行填充,使其长度相同 padded_sequences = pad_sequences(sequences, maxlen=100) ``` 接下来,构建模型: ```python model = Sequential() # 添加嵌入层 model.add(Embedding(input_dim=5000, output_dim=100, input_length=100)) # 添加1D卷积层 model.add(Conv1D(filters=32, kernel_size=3, padding='same', activation='relu')) # 添加全局最大池化层 model.add(GlobalMaxPooling1D()) # 添加全连接层 model.add(Dense(units=64, activation='relu')) # 添加输出层 model.add(Dense(units=1, activation='sigmoid')) # 编译模型 model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) ``` 最后,训练模型并进行评估: ```python # 划分训练集和测试集 indices = np.arange(padded_sequences.shape[0]) np.random.shuffle(indices) padded_sequences = padded_sequences[indices] labels = labels[indices] train_size = int(0.8 * padded_sequences.shape[0]) train_X, test_X = padded_sequences[:train_size], padded_sequences[train_size:] train_y, test_y = labels[:train_size], labels[train_size:] # 训练模型 model.fit(train_X, train_y, epochs=10, batch_size=64) # 评估模型 loss, accuracy = model.evaluate(test_X, test_y) print('Test accuracy:', accuracy) ``` 完整的代码示例如下: ```python import pandas as pd import numpy as np from keras.preprocessing.text import Tokenizer from keras.preprocessing.sequence import pad_sequences from keras.models import Sequential from keras.layers import Embedding, Conv1D, GlobalMaxPooling1D, Dense # 读取数据集 data = pd.read_csv('sentiment_analysis.csv') # 将文本转换为小写 texts = data['text'].apply(lambda x: x.lower()) # 将标签转换为数字:0表示负面情感,1表示正面情感 labels = np.array([0 if label == 'negative' else 1 for label in data['label']]) # 将文本转换为单词序列 tokenizer = Tokenizer(num_words=5000) tokenizer.fit_on_texts(texts) sequences = tokenizer.texts_to_sequences(texts) # 对单词序列进行填充,使其长度相同 padded_sequences = pad_sequences(sequences, maxlen=100) # 构建模型 model = Sequential() # 添加嵌入层 model.add(Embedding(input_dim=5000, output_dim=100, input_length=100)) # 添加1D卷积层 model.add(Conv1D(filters=32, kernel_size=3, padding='same', activation='relu')) # 添加全局最大池化层 model.add(GlobalMaxPooling1D()) # 添加全连接层 model.add(Dense(units=64, activation='relu')) # 添加输出层 model.add(Dense(units=1, activation='sigmoid')) # 编译模型 model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) # 划分训练集和测试集 indices = np.arange(padded_sequences.shape[0]) np.random.shuffle(indices) padded_sequences = padded_sequences[indices] labels = labels[indices] train_size = int(0.8 * padded_sequences.shape[0]) train_X, test_X = padded_sequences[:train_size], padded_sequences[train_size:] train_y, test_y = labels[:train_size], labels[train_size:] # 训练模型 model.fit(train_X, train_y, epochs=10, batch_size=64) # 评估模型 loss, accuracy = model.evaluate(test_X, test_y) print('Test accuracy:', accuracy) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腾讯AI架构师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值