下载anaconda参考链接:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe 由于已经加入path环境
配置path环境 E:\Anaconda\installer\Scripts
检测目前安装了哪些环境变量:conda info --envs (此时只有base,没有tensorflow环境)需创建TensorFlow,在此之前还要
为Anaconda下载配置清华镜像:
conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'
conda config --set show_channel_urls yes
在C:\用户\用户名 路径下找到.condarc文件配置
将下面文件改成
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls: yes
ssl_verify: true
即可
打开Anaconda导航
下载好tensorflow环境后,打开cmd,输入
conda create --name tensorflow==2.0.0 python=3.7.0
输入: activate tensorflow #激活tensorflow环境
升至最新版:
pip install --upgrade tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple/
pycharm配置python解释器虚拟环境
总之以上安装策略都非常不友好
我讲一个超级简单的方法:
由于之前下载tensorflow每次都在下载scipy时断掉,导致tensodflow安装失败
在官网https://pypi.org/project/scipy/#files 用迅雷快速下载,放到Scripts目录下
安装Werkzeug
安装h5py
https://pypi.org/project/h5py/#files
以上三个库,在每次安装TensorFlow的时候都会因为下载他们这几个断掉,所以干脆一个一个单独下载
这个时候再输入
pip install tensorflow-2.1.0-cp37-cp37m-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple/
才成功安装tensorflow==2.1.0版本
输入pip list检查
这几个提前下载很重要
或者在pycharm这里下载也可以了
需要保证英伟达版本大于410.x版本
梯度下降法
梯度的输出是一个由若干个偏导数构成的向量,它的每一个分量对应于函数对输入向量的相应分量的偏导:
梯度的输出向量表明了在每个位置损失函数增长最快的方向,可将它视为表示了在函数的每个位置向哪个方向移动函数值可以增长。
随机初始化,在三维中以上帝视觉寻找极值点
demo运行结果
多层感知器(神经网络)可以参考:http://c.biancheng.net/view/1911.html
1.单个神经元(二分类)
计算输入特征的加权和,然后使用一个激活函数(传递函数)计算输出
2.多个神经元(多分类)
单层神经元的缺陷
(1)无法拟合“异或”运算
(2)要求数据必须是线性可分
生物神经元一层一层连接,当神经信号达到某一个条件,这个神经就会被激活,然后逐个传递信息下去
未来继续使用神经网络解决这种不具线性可分性的问题,采取在神经网络的输入端和输出端之间插入更多的神经元
demo运行结果
import pandas as pd
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
data = pd.read_csv('./Advertising.csv')
data.head()
#print(data)
plt.scatter(data.TV,data.sales)
#plt.scatter(data.radio, data.sales)
plt.show()
# 取所有行,除去第一列和最后一列
x = data.iloc[:, 1:-1]
y = data.iloc[:, -1] # 取最后一列
# 完成ax1+bx2+...+...这样一个动作
# Dense()输出多少个单元 这里是个隐藏层由自己选择,参数越大越强
# TV radio newspaper 长度为3
# activation='relu'添加激活函数
model = tf.keras.Sequential([tf.keras.layers.Dense(10,
input_shape=(3,),
activation='relu'),
tf.keras.layers.Dense(1)])
model.summary()
# test = data.iloc[:10, 1:-1]
# test_predict=model.predict(test)
# print(test_predict)