tf_course1 基本概念与常见函数

3、TensorFlow2.0 基本概念与常见函数

3.1 基本概念

TensorFlow 中的 Tensor 表示张量,是多维数组、多维列表,用阶表示张量的维数。

张量的阶数与方括号的数量相同, 0 个方括号即为 0 阶张量, 1 个方括号即为 1 阶张量。故张量可以表示0 阶到 n 阶的数组。

在这里插入图片描述

也可通过 reshape 的方式得到更高维度数组,举例如下:

TensorFlow 中数据类型包括

  • 32 位整型(tf.int32)

  • 32 位浮点(tf.float32)

  • 64 位浮点(tf.float64)

  • 布尔型(tf.bool)

    tf.constant([True, False])

  • 字符串型(tf.string)

    tf.constant(“Hello, World!”)

创建张量(Tensor)

创建张量有若干种不同的方法

1、 利用 tf.constant(张量内容, dtype=数据类型(可选)),第一个参数表示张量内容

import tensorflow as tf
a = tf.constant([1,5], dtype=tf.int64)
print(a)
print(a.shape)
print(a.dtype)
tf.Tensor([1 5], shape=(2,), dtype=int64)
(2,)
<dtype: 'int64'>

2、很多时候数据是由 numpy 格式给出的,此时可以通过如下函数将 numpy 格式化为 Tensor 格式: tf. convert_to_tensor(数据名, dtype=数据类型(可选))。举例如下:

import tensorflow as tf
import numpy as np
a = np.arange(0, 5)

b = tf.convert_to_tensor(a, dtype=tf.int64)
print(a)
print(b)
[0 1 2 3 4]
tf.Tensor([0 1 2 3 4], shape=(5,), dtype=int64)

3、可采用不同函数创建不同值的张量

  • tf. zeros(维度)创建全为 0 的张量,

  • tf.ones(维度)创建全为 1 的张量,

  • tf. fill(维度,指定值)创建全为指定值的张量。

其中维度参数部分,如一维则直接写个数,二维用[行,列]表示,多维用[n,m,j…]表示。举例如下:

a = tf.zeros([2,3])
b = tf.ones(4)
c = tf.fill([2,2],9)
print(a)
print(b)
print(c)
tf.Tensor(
[[0. 0. 0.]
 [0. 0. 0.]], shape=(2, 3), dtype=float32)
tf.Tensor([1. 1. 1. 1.], shape=(4,), dtype=float32)
tf.Tensor(
[[9 9]
 [9 9]], shape=(2, 2), dtype=int32)

4、可采用不同函数创建符合不同分布的张量

  • 用 **tf. random.normal (维度,mean=均值, stddev=标准差)**生成正态分布的随机数,默认均值为 0,标准差为 1;

  • 用 **tf. random.truncated_normal (维度, mean=均值, stddev=标准差)**生成截断式正态分布的随机数,能使生成的这些随机数更集中一些,如果随机生成数据的取值在(µ - 2σ, u + 2σ ) 之外则重新进行生成,保证了生成值在均值附近;

  • 利用 tf.random. uniform(维度, minval=最小值, maxval=最大值),生成指定维度的均匀分布随机数,用 minval 给定随机数的最小值,用 maxval 给定随机数的最大值,最小、最大值是前闭后开区间。举例如下:

d = tf.random.normal([2,2], mean = 0.5, stddev = 1)
print(d)

e = tf.random.truncated_normal([3,2], mean=0.5, stddev = 1)
print(e)

f = tf.random.uniform([5,5], minval=0, maxval=1)
print(f)
tf.Tensor(
[[ 2.4428558   0.24182928]
 [-0.4662298  -0.5012703 ]], shape=(2, 2), dtype=float32)
tf.Tensor(
[[-0.00478995  1.1072372 ]
 [ 1.3252103   1.3386288 ]
 [ 1.186155   -0.5235541 ]], shape=(3, 2), dtype=float32)
tf.Tensor(
[[0.37859416 0.79167104 0.5249064  0.17303503 0.45326316]
 [0.55914986 0.3814777  0.66452813 0.4230677  0.84568036]
 [0.7067921  0.65832305 0.08928442 0.41606867 0.30019295]
 [0.29944313 0.9622747  0.8464525  0.02835035 0.02450287]
 [0.14704943 0.6580142  0.57666695 0.3417313  0.3674153 ]], shape=(5, 5), dtype=float32)

3.2 常用函数

1、利用 tf.cast (张量名, dtype=数据类型)强制将 Tensor 转换为该数据类型;

2、利用tf.reduce_min (张量名)计算张量维度上元素的最小值;

3、利用tf.reduce_max (张量名)计算张量维度上元素的最大值。

在这里插入图片描述

举例如下:

x1  = tf.constant([1., 2., 3.], dtype=tf.float64)
print(x1)

x2 = tf.cast(x1, dtype=tf.int32)
print(x2)

print(tf.reduce_min(x2), tf.reduce_max(x2))
tf.Tensor([1. 2. 3.], shape=(3,), dtype=float64)
tf.Tensor([1 2 3], shape=(3,), dtype=int32)
tf.Tensor(1, shape=(), dtype=int32) tf.Tensor(3, shape=(), dtype=int32)

4、可用 **tf.reduce_mean (张量名, axis=操作轴)**计算张量沿着指定维度的平均值;

5、可用 **f.reduce_sum (张量名, axis=操作轴)**计算张量沿着指定维度的和,如不指定 axis,则表示对所有元素进行操作。

由上图可知对于一个二维张量,如果 axis=0 表示纵向操作(沿经度方向) , axis=1
表示横向操作(沿纬度方向)。

x=tf.constant( [ [ 1, 2,3],[2, 2, 3] ])
print(x)
print(tf.reduce_mean( x ))
print(tf.reduce_sum( x, axis=1))
tf.Tensor(
[[1 2 3]
 [2 2 3]], shape=(2, 3), dtype=int32)
tf.Tensor(2, shape=(), dtype=int32)
tf.Tensor([6 7], shape=(2,), dtype=int32)

6、可利用 **tf.Variable(initial_value,trainable,validate_shape,name)**函数可以将变量标记为“可训练”的,被标记的变量会在反向传播中记录自己的梯度信息。

其中

initial_value 默认为 None,可以搭配 tensorflow 随机生成函数来初始化参数; 

trainable 默认为 True,表示可以后期被算法优化的,如果不想该变量被优化,即改为 False;

validate_shape 默认为 True,形状不接受更改,如果需要更改, validate_shape=False; name 默认为 None,给变量确定名称。
# tf(初始值)
w = tf.Variable(tf.random.normal([2,2], mean=0, stddev=1))
print(w)
<tf.Variable 'Variable:0' shape=(2, 2) dtype=float32, numpy=
array([[-0.15267259, -0.9609654 ],
       [ 1.637339  , -0.17587253]], dtype=float32)>

表示首先随机
生成正态分布随机数,再给生成的随机数标记为可训练,这样在反向传播中就可
以通过梯度下降更新参数 w了

7、利用 TensorFlow 中函数对张量进行四则运算
在这里插入图片描述

在这里插入图片描述

a = tf.ones([1,3])
b = tf.fill([1,3],3.)
print(a)
print(b)

print(tf.add(a,b))
print(tf.subtract(a,b))
print(tf.multiply(a,b))
print(tf.divide(a,b))
tf.Tensor([[1. 1. 1.]], shape=(1, 3), dtype=float32)
tf.Tensor([[3. 3. 3.]], shape=(1, 3), dtype=float32)
tf.Tensor([[4. 4. 4.]], shape=(1, 3), dtype=float32)
tf.Tensor([[-2. -2. -2.]], shape=(1, 3), dtype=float32)
tf.Tensor([[3. 3. 3.]], shape=(1, 3), dtype=float32)
tf.Tensor([[0.33333334 0.33333334 0.33333334]], shape=(1, 3), dtype=float32)

8、利用 TensorFlow 中函数对张量进行幂次运算

在这里插入图片描述

a = tf.fill([1, 2], 3.)
print(a)
print(tf.pow(a, 3))
print(tf.square(a))
print(tf.sqrt(a))
tf.Tensor([[3. 3.]], shape=(1, 2), dtype=float32)
tf.Tensor([[27. 27.]], shape=(1, 2), dtype=float32)
tf.Tensor([[9. 9.]], shape=(1, 2), dtype=float32)
tf.Tensor([[1.7320508 1.7320508]], shape=(1, 2), dtype=float32)

9、可利用 tf.matmul(矩阵 1,矩阵 2)实现两个矩阵的相乘

a = tf.ones([3, 2])
b = tf.fill([2, 3], 3.)
print(tf.matmul(a, b))
tf.Tensor(
[[6. 6. 6.]
 [6. 6. 6.]
 [6. 6. 6.]], shape=(3, 3), dtype=float32)

10、可利用 tf.data.Dataset.from_tensor_slices((输入特征, 标签))切分传入张量的第一维度,生成输入特征/标签对,构建数据集

此函数对 Tensor 格式与 Numpy格式均适用,其切分的是第一维度,表征数据集中数据的数量,之后切分 batch等操作都以第一维为基础。

import tensorflow as tf
features = tf.constant([12,23,10,17])
labels = tf.constant([0, 1, 1, 0])
dataset = tf.data.Dataset.from_tensor_slices((features, labels))
# print(dataset)
for element in dataset:
    print(element)
(<tf.Tensor: shape=(), dtype=int32, numpy=12>, <tf.Tensor: shape=(), dtype=int32, numpy=0>)
(<tf.Tensor: shape=(), dtype=int32, numpy=23>, <tf.Tensor: shape=(), dtype=int32, numpy=1>)
(<tf.Tensor: shape=(), dtype=int32, numpy=10>, <tf.Tensor: shape=(), dtype=int32, numpy=1>)
(<tf.Tensor: shape=(), dtype=int32, numpy=17>, <tf.Tensor: shape=(), dtype=int32, numpy=0>)

11、可利用 ** tf.GradientTape( )函数** 搭配 with 结构计算损失函数在某一张量处
的梯度,举例如下:可利用 tf.GradientTape( )函数搭配 with 结构计算损失函数在某一张量处
的梯度,举例如下:

with tf.GradientTape() as tape:
    若干个计算过程
    grad = tape.gradient(函数, 对谁求导)
import tensorflow as tf
with tf.GradientTape() as tape:
    w = tf.Variable(tf.constant(3.0))# 初始值
    loss = tf.pow(w,2)# 方程式
grad = tape.gradient(loss,w)
print(grad)
tf.Tensor(6.0, shape=(), dtype=float32)

12、enumerate(seq)是Python的内建函数,作用是可遍历每个元素(如list, tuple, string),输出组合为:索引,元素。常用在for循环中

举例如下:

seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
    print(i, element)
0 one
1 two
2 three

13、可用 tf.one_hot(待转换数据, depth=几分类)函数实现用独热码表示标签,在分类问题中很常见。标记类别为为 1 和 0,其中 1 表示是, 0 表示非
在这里插入图片描述

tf.one_hot()函数将待转换数据,转换为one-hot形式数据输出。

tf.one_hot(待转换数据,depth=几分类)

classes = 4
labels = tf.constant([1, 0, 2])
output = tf.one_hot(labels, depth=classes)
print(output)
tf.Tensor(
[[0. 1. 0. 0.]
 [1. 0. 0. 0.]
 [0. 0. 1. 0.]], shape=(3, 4), dtype=float32)

索引从 0 开始,待转换数据中各元素值应小于 depth,若带转换元素值大于等于
depth,则该元素输出编码为 [0, 0 … 0, 0]。即 depth 确定列数,待转换元素的
个数确定行数

classes = 3
labels = tf.constant([1,4,2]) # 输入的元素值 4 超出 depth-1
output = tf.one_hot(labels,depth=classes)
print(output)
tf.Tensor(
[[0. 1. 0.]
 [0. 0. 0.]
 [0. 0. 1.]], shape=(3, 3), dtype=float32)

14、tf.nn.softmax()函数

使前向传播的输出值符合概率分布,进而与独热码形式的标签作比较

当n分类的n个输出(y0, y1, … yn-1)通过softmax()函数,便符合概率分布函数了
在这里插入图片描述

在这里插入图片描述

y = tf.constant([1.01, 2.01, -0.66])
y_pro =  tf.nn.softmax(y)
print("After softmax, y_pro is:", y_pro)
After softmax, y_pro is: tf.Tensor([0.25598174 0.69583046 0.04818781], shape=(3,), dtype=float32)

15、可利用 assign_sub 对参数实现自更新。使用此函数前需利用tf.Variable定义变量 w为可训练(可自更新)
在这里插入图片描述

w = tf.Variable(4)
w.assign_sub(1)# W -= 1即 W=W-1
print(w)
<tf.Variable 'Variable:0' shape=() dtype=int32, numpy=3>

16、可利用 tf.argmax (张量名,axis=操作轴)返回张量沿指定维度最大值的索引,维度定义与图 3.1 一致
在这里插入图片描述

import numpy as np
test = np.array([[1, 2, 3], [2, 3, 4], [5, 4, 3], [8, 7, 2]])
print(test)
print(tf.argmax(test, axis=0))# 返回每一列(经度)最大值的索引
print(tf.argmax(test, axis=1))
[[1 2 3]
 [2 3 4]
 [5 4 3]
 [8 7 2]]
tf.Tensor([3 3 1], shape=(3,), dtype=int64)
tf.Tensor([2 2 0 0], shape=(4,), dtype=int64)

4 程序实现鸢尾花数据集分类

4.1 数据集回顾

顾鸢尾花数据集,其提供了 150 组鸢尾花数据,每组包括鸢尾花的花萼
长、花萼宽、花瓣长、花瓣宽 4 个输入特征,同时还给出了这一组特征对应的
鸢尾花类别。类别包括狗尾鸢尾、杂色鸢尾、弗吉尼亚鸢尾三类, 分别用数字
0、 1、 2 表示。

from sklearn import datasets
x_data = datasets.load_iris().data # 返回 iris 数据集所有输入特征
y_data = datasets.load_iris().target # 返回 iris 数据集所有标签
# print(x_data)

4.2 程序实现

神经网络实现鸢尾花分类仅需要三步:

(1)准备数据, 包括数据集读入、 数据集乱序, 把训练集和测试集中的数据配
成输入特征和标签对, 生成 train 和 test 即永不相见的训练集和测试集;

(2)搭建网络, 定义神经网络中的所有可训练参数;

(3)优化这些可训练的参数, 利用嵌套循环在 with 结构中求得损失函数 loss
对每个可训练参数的偏导数,更改这些可训练参数, 为了查看效果, 程序中可以
加入每遍历一次数据集显示当前准确率, 还可以画出准确率 acc 和损失函数 loss
的变化曲线图。
在这里插入图片描述

(1) 数据集读入:
从sklearn包datasets读入数据集:

from sklearn import datasets
# 返回 iris 数据集所有输入特征
x_data = datasets.load_iris().data

# 返回 iris 数据集所有标签
y_data = datasets.load_iris().target

(2) 数据集乱序:

np.random.seed(116)# 使用相同的 seed,使输入特征/标签一一对应
np.random.shuffle(x_data)

np.random.seed(116)
np.random.shuffle(y_data)
tf.random.set_seed(116)

(3) 数据集分割成永不相见的训练集和测试集:

#按行取数据,训练组120组数据,测试组30组数据
x_train = x_data[:-30]
y_train = y_data[:-30]

x_test = x_data[-30:]
y_test = y_data[-30:]
# print(x_train)

(4) 配成[输入特征,标签]对,每次喂入一小撮(batch):

train_db = tf.data.Dataset.from_tensor_slices((x_train, y_train)).batch(32)
test_db = tf.data.Dataset.from_tensor_slices((x_test, y_test)).batch(32)
<BatchDataset shapes: ((None, 4), (None,)), types: (tf.float64, tf.int32)>

上述四小部分代码实现了数据集读入、数据集乱序、将数据集分割成永不相见的
训练集和测试集、将数据配成[输入特征,标签]对。人类在认识这个世界的时候
信息是没有规律的,杂乱无章的涌入大脑的,所以喂入神经网络的数据集也需要
被打乱顺序。 (2)部分实现了让数据集乱序,因为使用了同样的随机种子,所以
打乱顺序后输入特征和标签仍然是一一对应的。 (3)部分将打乱后的前 120 个数
据取出来作为训练集,后 30 个数据作为测试集,为了公正评判神经网络的效果,
训练集和测试集没有交集。 (4)部分使用 from_tensor_slices 把训练集的输入特征
和标签配对打包,将每 32 组输入特征标签对打包为一个 batch,在喂入神经网络
时会以 batch 为单位喂入。

(5) 定义神经网路中所有可训练参数:

w1 = tf.Variable(tf.random.truncated_normal([4,3], stddev=0.1, seed=1))
b1 = tf.Variable(tf.random.truncated_normal([3], stddev=0.1, seed=1))

(6) 嵌套循环迭代, with 结构更新参数,显示当前 loss:
在这里插入图片描述

上述两部分完成了定义神经网路中所有可训练参数、 嵌套循环迭代更新参数。

(5) 部分定义了神经网络的所有可训练参数。只用了一层网络,因为输入特征是 4
个,输出节点数等于分类数,是 3 分类,故参数 w1为 4 行 3 列的张量, b1必须与
w1的维度一致,所以是 3。

(6)部分用两层 for 循环进行更新参数:第一层 for 循
环是针对整个数据集进行循环,故用 epoch 表示;第二层 for 循环是针对 batch
的,用 step 表示。在 with 结构中计算前向传播的预测结果 y , 计算损失函数 loss
损失函数 loss,分别对参数 w1和参数b1计算偏导数,更新参数 w1和参数b1的值,
打印出这一轮 epoch 后的损失函数值。因为训练集有 120 组数据, batch 是 32,
每个 step 只能喂入 32 组数据,需要 batch 级别循环 4 次,所以 loss 除以 4,求得
每次 step 迭代的平均 loss。

(7) 计算当前参数前向传播后的准确率,显示当前准确率 acc:

(8) acc / loss 可视化:
在这里插入图片描述

上述两部分完成了对准确率的计算并可视化准确率与 loss。

(7)部分前向传播计算
出 y ,使其符合概率分布并找到最大的概率值对应的索引号,调整数据类型与标
签一致,如果预测值和标签相等则 correct 变量自加一,准确率即预测对了的数
量除以测试集中的数据总数。

(8)部分可将计算出的准确率画成曲线图,通过设
置图标题、设置 x 轴名称、设置 y 轴名称,标出每个 epoch 时的准确率并画出曲
线,可用同样方法画出 loss 曲线。

# -*- coding: UTF-8 -*-
# 利用鸢尾花数据集,实现前向传播、反向传播,可视化loss曲线

# 导入所需模块
import tensorflow as tf
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets

# 导入数据,分别为输入特征和标签

x_data = datasets.load_iris().data
y_data = datasets.load_iris().target

# 随机打乱数据(因为原始数据是顺序的,顺序不打乱会影响准确率)
# seed: 随机数种子,是一个整数,当设置之后,每次生成的随机数都一样(为方便教学,以保每位同学结果一致)

np.random.seed(116) # 使用相同的seed,保证输入特征和标签一一对应
np.random.shuffle(x_data)
np.random.seed(116)
np.random.shuffle(x_data)
tf.random.set_seed(116)

# 将打乱后的数据集分割为训练集和测试集,训练集为前120行,测试集为后30行
x_train = x_data[:-30]
y_train = y_data[:-30]
x_test = x_data[-30:]
y_test = y_data[-30:]

# 转换x的数据类型,否则后面矩阵相乘时会因数据类型不一致报错
x_train = tf.cast(x_train, tf.float32)
x_test = tf.cast(x_test, tf.float32)

# from_tensor_slices函数使输入特征和标签值一一对应。(把数据集分批次,每个批次batch组数据)
train_db = tf.data.Dataset.from_tensor_slices((x_train, y_train)).batch(32)
test_db = tf.data.Dataset.from_tensor_slices((x_test, y_test)).batch(32)

# 生成神经网络的参数,4个输入特征故,输入层为4个输入节点;因为3分类,故输出层为3个神经元
# 用tf.Variable()标记参数可训练
# 使用seed使每次生成的随机数相同(方便教学,使大家结果都一致,在现实使用时不写seed)
w1 = tf.Variable(tf.random.truncated_normal([4,3], stddev=0.1, seed=1))
b1 = tf.Variable(tf.random.truncated_normal([3], stddev=0.1, seed=1))

lr = 0.1 # 学习率为0.1
train_loss_result = [] # 将每轮的loss记录在此列表中,为后续画loss曲线提供数据
test_acc = [] # 将每轮的acc记录在此列表中,为后续画acc曲线提供数据
epoch = 500 # 循环500轮
loss_all = 0 # 每轮分4个step,loss_all记录四个step生成的4个loss的和

# 训练部分
for epoch in range(epoch): #数据集级别的循环,每个epoch循环一次数据集
    for step, (x_train, y_train) in enumerate(train_db): #batch级别的循环 ,每个step循环一个batch
        with tf.GradientTape() as tape: # with结构记录梯度信息
            y = tf.matmul(x_train, w1) + b1 # 神经网络乘加运算
            y = tf.nn.softmax(y)  # 使输出y符合概率分布(此操作后与独热码同量级,可相减求loss)
            y_ = tf.one_hot(y_train, depth=3) # 将标签值转换为独热码格式,方便计算loss和accuracy
            loss = tf.reduce_mean(tf.square(y_ - y)) # 采用均方误差损失函数mse = mean(sum(y-out)^2)
            loss_all += loss.numpy()  # 将每个step计算出的loss累加,为后续求loss平均值提供数据,这样计算的loss更准确
        # 计算loss对各个参数的梯度
        grads = tape.gradient(loss, [w1, b1])
        
        # 实现梯度更新 w1 = w1 - lr * w1_grad    b = b - lr * b_grad
        w1.assign_sub(lr * grads[0])  # 参数w1自更新
        b1.assign_sub(lr * grads[1])  # 参数b自更新
        
    # 每个epoch,打印loss信息
    print("Epoch {}, loss: {}".format(epoch, loss_all/4)) 
    train_loss_result.append(loss_all/4) # 将4个step的loss求平均记录在此变量中
    loss_all = 0 # loss_all归零,为记录下一个epoch的loss做准备
    
    # 测试部分
    # total_correct为预测对的样本个数, total_number为测试的总样本数,将这两个变量都初始化为0
    total_correct, total_number = 0, 0
    for x_test, y_test in test_db:
        # 使用更新吼的参数进行预测
        y = tf.matmul(x_test, w1) + b1
        y = tf.nn.softmax(y)
        
        pred = tf.argmax(y, axis = 1) # 返回y中最大值的索引,即预测的分类
        
        # 将pred转换为y_test的数据类型
        pred = tf.cast(pred, dtype = y_test.dtype)
        # 若分类正确,则correct=1,否则为0,将bool型的结果转换为int型
        correct = tf.cast(tf.equal(pred, y_test), dtype=tf.int32)
        
        # 将每个batch的correct数加起来
        correct = tf.reduce_sum(correct)
        
        # 将所有batch中的correct数加起来
        total_correct += int(correct)
        
        # total_number为测试的总样本数, 也就是x_test的行数,shape[0]返回遍历的行数
        total_number += x_test.shape[0]
    # 总的准确率等于total_correct/total_number
    acc = total_correct / total_number
    test_acc.append(acc)
    print("Test_acc:", acc)
    print("--------------------------")

# 绘制 loss 曲线
plt.title('Loss Function Curve') #标题
plt.xlabel('Epoch')  # x轴变量名称
plt.ylabel('Loss')  # y轴变量名称
plt.plot(train_loss_result, label="$Loss$")  # 逐点画出trian_loss_results值并连线,连线图标是Loss
plt.legend()  # 画出曲线图标
plt.show()  # 画出图像

# 绘制 Accuracy 曲线
plt.title('Acc Curve')  # 图片标题
plt.xlabel('Epoch')  # x轴变量名称
plt.ylabel('Acc')  # y轴变量名称
plt.plot(test_acc, label="$Accuracy$")  # 逐点画出test_acc值并连线,连线图标是Accuracy
plt.legend()
plt.show()
Epoch 0, loss: 0.3381485566496849
Test_acc: 1.0
--------------------------
Epoch 1, loss: 0.30841024592518806
Test_acc: 1.0
--------------------------
Epoch 2, loss: 0.276842575520277
Test_acc: 0.0
--------------------------
Epoch 3, loss: 0.2716480679810047
Test_acc: 0.0
--------------------------
Epoch 4, loss: 0.27105871215462685
Test_acc: 0.0
--------------------------
Epoch 5, loss: 0.270840872079134
Test_acc: 0.0
--------------------------
Epoch 6, loss: 0.2706649787724018
Test_acc: 0.0
--------------------------
Epoch 7, loss: 0.27050918340682983
Test_acc: 0.0
--------------------------
Epoch 8, loss: 0.2703683115541935
Test_acc: 0.0
--------------------------
Epoch 9, loss: 0.2702404707670212
Test_acc: 0.0
--------------------------
Epoch 10, loss: 0.27012427896261215
Test_acc: 0.0
--------------------------
Epoch 11, loss: 0.2700185999274254
Test_acc: 0.0
--------------------------
Epoch 12, loss: 0.2699223607778549
Test_acc: 0.0
--------------------------
Epoch 13, loss: 0.2698346860706806
Test_acc: 0.03333333333333333
--------------------------
Epoch 14, loss: 0.26975472643971443
Test_acc: 0.06666666666666667
--------------------------
Epoch 15, loss: 0.26968174800276756
Test_acc: 0.1
--------------------------
Epoch 16, loss: 0.2696150578558445
Test_acc: 0.13333333333333333
--------------------------
Epoch 17, loss: 0.2695540748536587
Test_acc: 0.13333333333333333
--------------------------
Epoch 18, loss: 0.2694982476532459
Test_acc: 0.13333333333333333
--------------------------
Epoch 19, loss: 0.26944711431860924
Test_acc: 0.13333333333333333
--------------------------
Epoch 20, loss: 0.2694002501666546
Test_acc: 0.13333333333333333
--------------------------
Epoch 21, loss: 0.26935721933841705
Test_acc: 0.13333333333333333
--------------------------
Epoch 22, loss: 0.269317664206028
Test_acc: 0.13333333333333333
--------------------------
Epoch 23, loss: 0.2692812792956829
Test_acc: 0.13333333333333333
--------------------------
Epoch 24, loss: 0.2692478112876415
Test_acc: 0.16666666666666666
--------------------------
Epoch 25, loss: 0.26921697705984116
Test_acc: 0.2
--------------------------
Epoch 26, loss: 0.2691885195672512
Test_acc: 0.2
--------------------------
Epoch 27, loss: 0.26916224882006645
Test_acc: 0.23333333333333334
--------------------------
Epoch 28, loss: 0.26913798227906227
Test_acc: 0.26666666666666666
--------------------------
Epoch 29, loss: 0.26911550760269165
Test_acc: 0.26666666666666666
--------------------------
Epoch 30, loss: 0.26909472793340683
Test_acc: 0.26666666666666666
--------------------------
Epoch 31, loss: 0.2690754495561123
Test_acc: 0.26666666666666666
--------------------------
Epoch 32, loss: 0.2690575569868088
Test_acc: 0.26666666666666666
--------------------------
Epoch 33, loss: 0.26904091611504555
Test_acc: 0.26666666666666666
--------------------------
Epoch 34, loss: 0.26902545988559723
Test_acc: 0.26666666666666666
--------------------------
Epoch 35, loss: 0.26901107653975487
Test_acc: 0.26666666666666666
--------------------------
Epoch 36, loss: 0.2689976543188095
Test_acc: 0.3
--------------------------
Epoch 37, loss: 0.268985141068697
Test_acc: 0.3
--------------------------
Epoch 38, loss: 0.2689734250307083
Test_acc: 0.3
--------------------------
Epoch 39, loss: 0.26896248385310173
Test_acc: 0.3
--------------------------
Epoch 40, loss: 0.26895222440361977
Test_acc: 0.3
--------------------------
Epoch 41, loss: 0.26894259452819824
Test_acc: 0.3
--------------------------
Epoch 42, loss: 0.26893356069922447
Test_acc: 0.3333333333333333
--------------------------
Epoch 43, loss: 0.2689250372350216
Test_acc: 0.3333333333333333
--------------------------
Epoch 44, loss: 0.2689170353114605
Test_acc: 0.3333333333333333
--------------------------
Epoch 45, loss: 0.2689094804227352
Test_acc: 0.3333333333333333
--------------------------
Epoch 46, loss: 0.26890233531594276
Test_acc: 0.36666666666666664
--------------------------
Epoch 47, loss: 0.26889556273818016
Test_acc: 0.36666666666666664
--------------------------
Epoch 48, loss: 0.2688891626894474
Test_acc: 0.36666666666666664
--------------------------
Epoch 49, loss: 0.2688830755650997
Test_acc: 0.36666666666666664
--------------------------
Epoch 50, loss: 0.2688773013651371
Test_acc: 0.36666666666666664
--------------------------
Epoch 51, loss: 0.2688717730343342
Test_acc: 0.36666666666666664
--------------------------
Epoch 52, loss: 0.26886650547385216
Test_acc: 0.36666666666666664
--------------------------
Epoch 53, loss: 0.26886148378252983
Test_acc: 0.36666666666666664
--------------------------
Epoch 54, loss: 0.26885664463043213
Test_acc: 0.36666666666666664
--------------------------
Epoch 55, loss: 0.26885202899575233
Test_acc: 0.4
--------------------------
Epoch 56, loss: 0.26884759590029716
Test_acc: 0.4
--------------------------
Epoch 57, loss: 0.26884331181645393
Test_acc: 0.4
--------------------------
Epoch 58, loss: 0.26883919164538383
Test_acc: 0.4
--------------------------
Epoch 59, loss: 0.2688351906836033
Test_acc: 0.4
--------------------------
Epoch 60, loss: 0.268831342458725
Test_acc: 0.4
--------------------------
Epoch 61, loss: 0.2688275836408138
Test_acc: 0.4
--------------------------
Epoch 62, loss: 0.2688239552080631
Test_acc: 0.4
--------------------------
Epoch 63, loss: 0.2688204236328602
Test_acc: 0.4
--------------------------
Epoch 64, loss: 0.2688169702887535
Test_acc: 0.4
--------------------------
Epoch 65, loss: 0.268813606351614
Test_acc: 0.4
--------------------------
Epoch 66, loss: 0.26881030574440956
Test_acc: 0.4
--------------------------
Epoch 67, loss: 0.2688070796430111
Test_acc: 0.4
--------------------------
Epoch 68, loss: 0.2688039168715477
Test_acc: 0.4
--------------------------
Epoch 69, loss: 0.2688008211553097
Test_acc: 0.4
--------------------------
Epoch 70, loss: 0.26879775896668434
Test_acc: 0.4
--------------------------
Epoch 71, loss: 0.2687947489321232
Test_acc: 0.43333333333333335
--------------------------
Epoch 72, loss: 0.2687917985022068
Test_acc: 0.43333333333333335
--------------------------
Epoch 73, loss: 0.2687888629734516
Test_acc: 0.43333333333333335
--------------------------
Epoch 74, loss: 0.2687859572470188
Test_acc: 0.43333333333333335
--------------------------
Epoch 75, loss: 0.2687831036746502
Test_acc: 0.43333333333333335
--------------------------
Epoch 76, loss: 0.26878027990460396
Test_acc: 0.43333333333333335
--------------------------
Epoch 77, loss: 0.2687774710357189
Test_acc: 0.43333333333333335
--------------------------
Epoch 78, loss: 0.26877467706799507
Test_acc: 0.43333333333333335
--------------------------
Epoch 79, loss: 0.2687719203531742
Test_acc: 0.43333333333333335
--------------------------
Epoch 80, loss: 0.26876916363835335
Test_acc: 0.43333333333333335
--------------------------
Epoch 81, loss: 0.2687664292752743
Test_acc: 0.43333333333333335
--------------------------
Epoch 82, loss: 0.2687637060880661
Test_acc: 0.43333333333333335
--------------------------
Epoch 83, loss: 0.2687610127031803
Test_acc: 0.43333333333333335
--------------------------
Epoch 84, loss: 0.26875830814242363
Test_acc: 0.43333333333333335
--------------------------
Epoch 85, loss: 0.26875561103224754
Test_acc: 0.43333333333333335
--------------------------
Epoch 86, loss: 0.26875293627381325
Test_acc: 0.43333333333333335
--------------------------
Epoch 87, loss: 0.26875025406479836
Test_acc: 0.43333333333333335
--------------------------
Epoch 88, loss: 0.26874759793281555
Test_acc: 0.43333333333333335
--------------------------
Epoch 89, loss: 0.26874491572380066
Test_acc: 0.43333333333333335
--------------------------
Epoch 90, loss: 0.26874225586652756
Test_acc: 0.43333333333333335
--------------------------
Epoch 91, loss: 0.26873960345983505
Test_acc: 0.43333333333333335
--------------------------
Epoch 92, loss: 0.26873693615198135
Test_acc: 0.43333333333333335
--------------------------
Epoch 93, loss: 0.26873428747057915
Test_acc: 0.43333333333333335
--------------------------
Epoch 94, loss: 0.26873162388801575
Test_acc: 0.43333333333333335
--------------------------
Epoch 95, loss: 0.26872898265719414
Test_acc: 0.43333333333333335
--------------------------
Epoch 96, loss: 0.26872630789875984
Test_acc: 0.43333333333333335
--------------------------
Epoch 97, loss: 0.26872365549206734
Test_acc: 0.43333333333333335
--------------------------
Epoch 98, loss: 0.26872101053595543
Test_acc: 0.43333333333333335
--------------------------
Epoch 99, loss: 0.26871833577752113
Test_acc: 0.43333333333333335
--------------------------
Epoch 100, loss: 0.26871566846966743
Test_acc: 0.43333333333333335
--------------------------
Epoch 101, loss: 0.26871299743652344
Test_acc: 0.43333333333333335
--------------------------
Epoch 102, loss: 0.26871033012866974
Test_acc: 0.43333333333333335
--------------------------
Epoch 103, loss: 0.26870765909552574
Test_acc: 0.43333333333333335
--------------------------
Epoch 104, loss: 0.26870498061180115
Test_acc: 0.43333333333333335
--------------------------
Epoch 105, loss: 0.26870230957865715
Test_acc: 0.43333333333333335
--------------------------
Epoch 106, loss: 0.26869961246848106
Test_acc: 0.43333333333333335
--------------------------
Epoch 107, loss: 0.26869693771004677
Test_acc: 0.43333333333333335
--------------------------
Epoch 108, loss: 0.2686942368745804
Test_acc: 0.43333333333333335
--------------------------
Epoch 109, loss: 0.2686915546655655
Test_acc: 0.43333333333333335
--------------------------
Epoch 110, loss: 0.2686888687312603
Test_acc: 0.43333333333333335
--------------------------
Epoch 111, loss: 0.2686861716210842
Test_acc: 0.43333333333333335
--------------------------
Epoch 112, loss: 0.26868346333503723
Test_acc: 0.43333333333333335
--------------------------
Epoch 113, loss: 0.26868077740073204
Test_acc: 0.43333333333333335
--------------------------
Epoch 114, loss: 0.26867805421352386
Test_acc: 0.43333333333333335
--------------------------
Epoch 115, loss: 0.2686753235757351
Test_acc: 0.43333333333333335
--------------------------
Epoch 116, loss: 0.268672626465559
Test_acc: 0.43333333333333335
--------------------------
Epoch 117, loss: 0.268669918179512
Test_acc: 0.43333333333333335
--------------------------
Epoch 118, loss: 0.26866718009114265
Test_acc: 0.43333333333333335
--------------------------
Epoch 119, loss: 0.2686644718050957
Test_acc: 0.43333333333333335
--------------------------
Epoch 120, loss: 0.2686617486178875
Test_acc: 0.43333333333333335
--------------------------
Epoch 121, loss: 0.2686590142548084
Test_acc: 0.43333333333333335
--------------------------
Epoch 122, loss: 0.26865628734230995
Test_acc: 0.43333333333333335
--------------------------
Epoch 123, loss: 0.2686535529792309
Test_acc: 0.43333333333333335
--------------------------
Epoch 124, loss: 0.2686508260667324
Test_acc: 0.43333333333333335
--------------------------
Epoch 125, loss: 0.26864808425307274
Test_acc: 0.43333333333333335
--------------------------
Epoch 126, loss: 0.26864534616470337
Test_acc: 0.43333333333333335
--------------------------
Epoch 127, loss: 0.2686425857245922
Test_acc: 0.43333333333333335
--------------------------
Epoch 128, loss: 0.26863985508680344
Test_acc: 0.43333333333333335
--------------------------
Epoch 129, loss: 0.26863710582256317
Test_acc: 0.43333333333333335
--------------------------
Epoch 130, loss: 0.2686343528330326
Test_acc: 0.43333333333333335
--------------------------
Epoch 131, loss: 0.26863161846995354
Test_acc: 0.43333333333333335
--------------------------
Epoch 132, loss: 0.2686288505792618
Test_acc: 0.43333333333333335
--------------------------
Epoch 133, loss: 0.2686261050403118
Test_acc: 0.43333333333333335
--------------------------
Epoch 134, loss: 0.26862334460020065
Test_acc: 0.43333333333333335
--------------------------
Epoch 135, loss: 0.2686206214129925
Test_acc: 0.43333333333333335
--------------------------
Epoch 136, loss: 0.2686178609728813
Test_acc: 0.43333333333333335
--------------------------
Epoch 137, loss: 0.26861510053277016
Test_acc: 0.43333333333333335
--------------------------
Epoch 138, loss: 0.2686123438179493
Test_acc: 0.43333333333333335
--------------------------
Epoch 139, loss: 0.26860957592725754
Test_acc: 0.43333333333333335
--------------------------
Epoch 140, loss: 0.26860683783888817
Test_acc: 0.43333333333333335
--------------------------
Epoch 141, loss: 0.2686040811240673
Test_acc: 0.43333333333333335
--------------------------
Epoch 142, loss: 0.26860132068395615
Test_acc: 0.43333333333333335
--------------------------
Epoch 143, loss: 0.2685985751450062
Test_acc: 0.43333333333333335
--------------------------
Epoch 144, loss: 0.2685958035290241
Test_acc: 0.43333333333333335
--------------------------
Epoch 145, loss: 0.26859306171536446
Test_acc: 0.4
--------------------------
Epoch 146, loss: 0.2685903199017048
Test_acc: 0.4
--------------------------
Epoch 147, loss: 0.26858754456043243
Test_acc: 0.4
--------------------------
Epoch 148, loss: 0.26858479157090187
Test_acc: 0.4
--------------------------
Epoch 149, loss: 0.2685820423066616
Test_acc: 0.4
--------------------------
Epoch 150, loss: 0.26857928931713104
Test_acc: 0.4
--------------------------
Epoch 151, loss: 0.2685765363276005
Test_acc: 0.4
--------------------------
Epoch 152, loss: 0.2685737982392311
Test_acc: 0.4
--------------------------
Epoch 153, loss: 0.26857104524970055
Test_acc: 0.4
--------------------------
Epoch 154, loss: 0.2685683146119118
Test_acc: 0.4
--------------------------
Epoch 155, loss: 0.2685655765235424
Test_acc: 0.4
--------------------------
Epoch 156, loss: 0.26856281980872154
Test_acc: 0.4
--------------------------
Epoch 157, loss: 0.2685600817203522
Test_acc: 0.4
--------------------------
Epoch 158, loss: 0.2685573361814022
Test_acc: 0.4
--------------------------
Epoch 159, loss: 0.26855460181832314
Test_acc: 0.4
--------------------------
Epoch 160, loss: 0.26855187863111496
Test_acc: 0.4
--------------------------
Epoch 161, loss: 0.2685491293668747
Test_acc: 0.4
--------------------------
Epoch 162, loss: 0.2685464061796665
Test_acc: 0.4
--------------------------
Epoch 163, loss: 0.26854367554187775
Test_acc: 0.4
--------------------------
Epoch 164, loss: 0.26854095235466957
Test_acc: 0.4
--------------------------
Epoch 165, loss: 0.2685382254421711
Test_acc: 0.4
--------------------------
Epoch 166, loss: 0.2685355097055435
Test_acc: 0.4
--------------------------
Epoch 167, loss: 0.26853278651833534
Test_acc: 0.4
--------------------------
Epoch 168, loss: 0.26853006705641747
Test_acc: 0.4
--------------------------
Epoch 169, loss: 0.2685273475944996
Test_acc: 0.4
--------------------------
Epoch 170, loss: 0.2685246504843235
Test_acc: 0.4
--------------------------
Epoch 171, loss: 0.2685219310224056
Test_acc: 0.4
--------------------------
Epoch 172, loss: 0.26851922646164894
Test_acc: 0.4
--------------------------
Epoch 173, loss: 0.26851651445031166
Test_acc: 0.4
--------------------------
Epoch 174, loss: 0.2685138173401356
Test_acc: 0.4
--------------------------
Epoch 175, loss: 0.2685111239552498
Test_acc: 0.4
--------------------------
Epoch 176, loss: 0.2685084231197834
Test_acc: 0.4
--------------------------
Epoch 177, loss: 0.2685057520866394
Test_acc: 0.4
--------------------------
Epoch 178, loss: 0.268503051251173
Test_acc: 0.4
--------------------------
Epoch 179, loss: 0.2685003727674484
Test_acc: 0.4
--------------------------
Epoch 180, loss: 0.26849767938256264
Test_acc: 0.4
--------------------------
Epoch 181, loss: 0.26849501952528954
Test_acc: 0.4
--------------------------
Epoch 182, loss: 0.26849234476685524
Test_acc: 0.4
--------------------------
Epoch 183, loss: 0.26848967373371124
Test_acc: 0.4
--------------------------
Epoch 184, loss: 0.26848699524998665
Test_acc: 0.4
--------------------------
Epoch 185, loss: 0.26848434656858444
Test_acc: 0.4
--------------------------
Epoch 186, loss: 0.26848169043660164
Test_acc: 0.4
--------------------------
Epoch 187, loss: 0.26847902312874794
Test_acc: 0.4
--------------------------
Epoch 188, loss: 0.26847636327147484
Test_acc: 0.4
--------------------------
Epoch 189, loss: 0.26847372204065323
Test_acc: 0.4
--------------------------
Epoch 190, loss: 0.2684710808098316
Test_acc: 0.4
--------------------------
Epoch 191, loss: 0.2684684433043003
Test_acc: 0.4
--------------------------
Epoch 192, loss: 0.2684657983481884
Test_acc: 0.4
--------------------------
Epoch 193, loss: 0.2684631831943989
Test_acc: 0.4
--------------------------
Epoch 194, loss: 0.2684605307877064
Test_acc: 0.4
--------------------------
Epoch 195, loss: 0.26845790073275566
Test_acc: 0.4
--------------------------
Epoch 196, loss: 0.26845529302954674
Test_acc: 0.4
--------------------------
Epoch 197, loss: 0.2684526778757572
Test_acc: 0.4
--------------------------
Epoch 198, loss: 0.2684500552713871
Test_acc: 0.4
--------------------------
Epoch 199, loss: 0.2684474475681782
Test_acc: 0.4
--------------------------
Epoch 200, loss: 0.26844483613967896
Test_acc: 0.4
--------------------------
Epoch 201, loss: 0.2684422619640827
Test_acc: 0.4
--------------------------
Epoch 202, loss: 0.2684396468102932
Test_acc: 0.4
--------------------------
Epoch 203, loss: 0.26843706518411636
Test_acc: 0.4
--------------------------
Epoch 204, loss: 0.26843447983264923
Test_acc: 0.4
--------------------------
Epoch 205, loss: 0.2684318870306015
Test_acc: 0.4
--------------------------
Epoch 206, loss: 0.26842931285500526
Test_acc: 0.4
--------------------------
Epoch 207, loss: 0.268426738679409
Test_acc: 0.4
--------------------------
Epoch 208, loss: 0.2684241719543934
Test_acc: 0.4
--------------------------
Epoch 209, loss: 0.26842160522937775
Test_acc: 0.4
--------------------------
Epoch 210, loss: 0.2684190385043621
Test_acc: 0.4
--------------------------
Epoch 211, loss: 0.26841648295521736
Test_acc: 0.4
--------------------------
Epoch 212, loss: 0.268413919955492
Test_acc: 0.4
--------------------------
Epoch 213, loss: 0.2684113644063473
Test_acc: 0.4
--------------------------
Epoch 214, loss: 0.2684088237583637
Test_acc: 0.4
--------------------------
Epoch 215, loss: 0.2684062831103802
Test_acc: 0.4
--------------------------
Epoch 216, loss: 0.2684037499129772
Test_acc: 0.4
--------------------------
Epoch 217, loss: 0.26840121671557426
Test_acc: 0.4
--------------------------
Epoch 218, loss: 0.2683986909687519
Test_acc: 0.4
--------------------------
Epoch 219, loss: 0.26839616522192955
Test_acc: 0.4
--------------------------
Epoch 220, loss: 0.2683936543762684
Test_acc: 0.4
--------------------------
Epoch 221, loss: 0.2683911360800266
Test_acc: 0.4
--------------------------
Epoch 222, loss: 0.26838863268494606
Test_acc: 0.4
--------------------------
Epoch 223, loss: 0.2683861218392849
Test_acc: 0.4
--------------------------
Epoch 224, loss: 0.2683836258947849
Test_acc: 0.4
--------------------------
Epoch 225, loss: 0.26838112249970436
Test_acc: 0.4
--------------------------
Epoch 226, loss: 0.2683786377310753
Test_acc: 0.4
--------------------------
Epoch 227, loss: 0.2683761529624462
Test_acc: 0.4
--------------------------
Epoch 228, loss: 0.26837366446852684
Test_acc: 0.4
--------------------------
Epoch 229, loss: 0.26837121322751045
Test_acc: 0.4
--------------------------
Epoch 230, loss: 0.2683687172830105
Test_acc: 0.4
--------------------------
Epoch 231, loss: 0.2683662548661232
Test_acc: 0.4
--------------------------
Epoch 232, loss: 0.2683637924492359
Test_acc: 0.4
--------------------------
Epoch 233, loss: 0.26836132630705833
Test_acc: 0.4
--------------------------
Epoch 234, loss: 0.26835888251662254
Test_acc: 0.4
--------------------------
Epoch 235, loss: 0.26835642382502556
Test_acc: 0.4
--------------------------
Epoch 236, loss: 0.26835397258400917
Test_acc: 0.4
--------------------------
Epoch 237, loss: 0.26835155114531517
Test_acc: 0.4
--------------------------
Epoch 238, loss: 0.26834911480546
Test_acc: 0.4
--------------------------
Epoch 239, loss: 0.2683466859161854
Test_acc: 0.4
--------------------------
Epoch 240, loss: 0.2683442570269108
Test_acc: 0.4
--------------------------
Epoch 241, loss: 0.268341813236475
Test_acc: 0.4
--------------------------
Epoch 242, loss: 0.2683394141495228
Test_acc: 0.4
--------------------------
Epoch 243, loss: 0.2683370038866997
Test_acc: 0.4
--------------------------
Epoch 244, loss: 0.26833459362387657
Test_acc: 0.4
--------------------------
Epoch 245, loss: 0.26833220198750496
Test_acc: 0.4
--------------------------
Epoch 246, loss: 0.26832978427410126
Test_acc: 0.4
--------------------------
Epoch 247, loss: 0.26832740381360054
Test_acc: 0.4
--------------------------
Epoch 248, loss: 0.26832500845193863
Test_acc: 0.4
--------------------------
Epoch 249, loss: 0.2683226205408573
Test_acc: 0.4
--------------------------
Epoch 250, loss: 0.2683202400803566
Test_acc: 0.4
--------------------------
Epoch 251, loss: 0.2683178707957268
Test_acc: 0.4
--------------------------
Epoch 252, loss: 0.26831550523638725
Test_acc: 0.4
--------------------------
Epoch 253, loss: 0.26831312850117683
Test_acc: 0.4
--------------------------
Epoch 254, loss: 0.2683107741177082
Test_acc: 0.4
--------------------------
Epoch 255, loss: 0.268308412283659
Test_acc: 0.4
--------------------------
Epoch 256, loss: 0.26830606535077095
Test_acc: 0.43333333333333335
--------------------------
Epoch 257, loss: 0.2683037109673023
Test_acc: 0.43333333333333335
--------------------------
Epoch 258, loss: 0.2683013826608658
Test_acc: 0.43333333333333335
--------------------------
Epoch 259, loss: 0.26829903572797775
Test_acc: 0.43333333333333335
--------------------------
Epoch 260, loss: 0.2682966962456703
Test_acc: 0.43333333333333335
--------------------------
Epoch 261, loss: 0.2682943753898144
Test_acc: 0.43333333333333335
--------------------------
Epoch 262, loss: 0.26829205080866814
Test_acc: 0.43333333333333335
--------------------------
Epoch 263, loss: 0.2682897336781025
Test_acc: 0.43333333333333335
--------------------------
Epoch 264, loss: 0.26828740164637566
Test_acc: 0.43333333333333335
--------------------------
Epoch 265, loss: 0.2682850994169712
Test_acc: 0.43333333333333335
--------------------------
Epoch 266, loss: 0.26828279718756676
Test_acc: 0.43333333333333335
--------------------------
Epoch 267, loss: 0.2682804949581623
Test_acc: 0.43333333333333335
--------------------------
Epoch 268, loss: 0.26827820017933846
Test_acc: 0.43333333333333335
--------------------------
Epoch 269, loss: 0.2682759128510952
Test_acc: 0.43333333333333335
--------------------------
Epoch 270, loss: 0.26827362552285194
Test_acc: 0.43333333333333335
--------------------------
Epoch 271, loss: 0.268271341919899
Test_acc: 0.43333333333333335
--------------------------
Epoch 272, loss: 0.26826905086636543
Test_acc: 0.43333333333333335
--------------------------
Epoch 273, loss: 0.26826678216457367
Test_acc: 0.43333333333333335
--------------------------
Epoch 274, loss: 0.2682645134627819
Test_acc: 0.43333333333333335
--------------------------
Epoch 275, loss: 0.26826225593686104
Test_acc: 0.43333333333333335
--------------------------
Epoch 276, loss: 0.26826000213623047
Test_acc: 0.43333333333333335
--------------------------
Epoch 277, loss: 0.2682577408850193
Test_acc: 0.43333333333333335
--------------------------
Epoch 278, loss: 0.26825547590851784
Test_acc: 0.43333333333333335
--------------------------
Epoch 279, loss: 0.26825324445962906
Test_acc: 0.43333333333333335
--------------------------
Epoch 280, loss: 0.2682509981095791
Test_acc: 0.43333333333333335
--------------------------
Epoch 281, loss: 0.2682487629354
Test_acc: 0.43333333333333335
--------------------------
Epoch 282, loss: 0.26824653148651123
Test_acc: 0.43333333333333335
--------------------------
Epoch 283, loss: 0.26824429631233215
Test_acc: 0.43333333333333335
--------------------------
Epoch 284, loss: 0.26824207231402397
Test_acc: 0.43333333333333335
--------------------------
Epoch 285, loss: 0.2682398594915867
Test_acc: 0.43333333333333335
--------------------------
Epoch 286, loss: 0.2682376466691494
Test_acc: 0.43333333333333335
--------------------------
Epoch 287, loss: 0.268235445022583
Test_acc: 0.43333333333333335
--------------------------
Epoch 288, loss: 0.2682332396507263
Test_acc: 0.43333333333333335
--------------------------
Epoch 289, loss: 0.2682310417294502
Test_acc: 0.43333333333333335
--------------------------
Epoch 290, loss: 0.26822883263230324
Test_acc: 0.43333333333333335
--------------------------
Epoch 291, loss: 0.26822664961218834
Test_acc: 0.43333333333333335
--------------------------
Epoch 292, loss: 0.26822445541620255
Test_acc: 0.43333333333333335
--------------------------
Epoch 293, loss: 0.26822228357195854
Test_acc: 0.43333333333333335
--------------------------
Epoch 294, loss: 0.26822010800242424
Test_acc: 0.43333333333333335
--------------------------
Epoch 295, loss: 0.26821793243288994
Test_acc: 0.43333333333333335
--------------------------
Epoch 296, loss: 0.26821575686335564
Test_acc: 0.4666666666666667
--------------------------
Epoch 297, loss: 0.26821358501911163
Test_acc: 0.4666666666666667
--------------------------
Epoch 298, loss: 0.26821144297719
Test_acc: 0.4666666666666667
--------------------------
Epoch 299, loss: 0.2682092748582363
Test_acc: 0.4666666666666667
--------------------------
Epoch 300, loss: 0.2682071439921856
Test_acc: 0.4666666666666667
--------------------------
Epoch 301, loss: 0.2682049795985222
Test_acc: 0.4666666666666667
--------------------------
Epoch 302, loss: 0.26820284873247147
Test_acc: 0.4666666666666667
--------------------------
Epoch 303, loss: 0.26820070669054985
Test_acc: 0.5
--------------------------
Epoch 304, loss: 0.26819856092333794
Test_acc: 0.5
--------------------------
Epoch 305, loss: 0.2681964375078678
Test_acc: 0.5
--------------------------
Epoch 306, loss: 0.268194317817688
Test_acc: 0.5
--------------------------
Epoch 307, loss: 0.26819219812750816
Test_acc: 0.5
--------------------------
Epoch 308, loss: 0.26819007843732834
Test_acc: 0.5
--------------------------
Epoch 309, loss: 0.2681879661977291
Test_acc: 0.5
--------------------------
Epoch 310, loss: 0.2681858651340008
Test_acc: 0.5
--------------------------
Epoch 311, loss: 0.26818376407027245
Test_acc: 0.5
--------------------------
Epoch 312, loss: 0.2681816592812538
Test_acc: 0.5
--------------------------
Epoch 313, loss: 0.2681795693933964
Test_acc: 0.5
--------------------------
Epoch 314, loss: 0.26817748323082924
Test_acc: 0.5
--------------------------
Epoch 315, loss: 0.2681753896176815
Test_acc: 0.5
--------------------------
Epoch 316, loss: 0.26817331090569496
Test_acc: 0.5
--------------------------
Epoch 317, loss: 0.2681712284684181
Test_acc: 0.5
--------------------------
Epoch 318, loss: 0.2681691534817219
Test_acc: 0.5
--------------------------
Epoch 319, loss: 0.26816708967089653
Test_acc: 0.5
--------------------------
Epoch 320, loss: 0.2681650221347809
Test_acc: 0.5
--------------------------
Epoch 321, loss: 0.2681629844009876
Test_acc: 0.5
--------------------------
Epoch 322, loss: 0.2681609243154526
Test_acc: 0.5
--------------------------
Epoch 323, loss: 0.2681588716804981
Test_acc: 0.5
--------------------------
Epoch 324, loss: 0.26815682649612427
Test_acc: 0.5
--------------------------
Epoch 325, loss: 0.268154788762331
Test_acc: 0.5
--------------------------
Epoch 326, loss: 0.26815276220440865
Test_acc: 0.5
--------------------------
Epoch 327, loss: 0.2681507207453251
Test_acc: 0.5
--------------------------
Epoch 328, loss: 0.26814868673682213
Test_acc: 0.5
--------------------------
Epoch 329, loss: 0.26814665645360947
Test_acc: 0.5
--------------------------
Epoch 330, loss: 0.2681446336209774
Test_acc: 0.5
--------------------------
Epoch 331, loss: 0.26814262941479683
Test_acc: 0.5
--------------------------
Epoch 332, loss: 0.26814061775803566
Test_acc: 0.5
--------------------------
Epoch 333, loss: 0.2681385912001133
Test_acc: 0.5
--------------------------
Epoch 334, loss: 0.2681366018950939
Test_acc: 0.5
--------------------------
Epoch 335, loss: 0.26813459396362305
Test_acc: 0.5
--------------------------
Epoch 336, loss: 0.2681325934827328
Test_acc: 0.5
--------------------------
Epoch 337, loss: 0.2681306190788746
Test_acc: 0.5
--------------------------
Epoch 338, loss: 0.2681286223232746
Test_acc: 0.5
--------------------------
Epoch 339, loss: 0.26812664419412613
Test_acc: 0.5
--------------------------
Epoch 340, loss: 0.26812466233968735
Test_acc: 0.5
--------------------------
Epoch 341, loss: 0.26812270656228065
Test_acc: 0.5
--------------------------
Epoch 342, loss: 0.2681207172572613
Test_acc: 0.5
--------------------------
Epoch 343, loss: 0.2681187503039837
Test_acc: 0.5
--------------------------
Epoch 344, loss: 0.2681167908012867
Test_acc: 0.5
--------------------------
Epoch 345, loss: 0.2681148387491703
Test_acc: 0.5
--------------------------
Epoch 346, loss: 0.2681128792464733
Test_acc: 0.5
--------------------------
Epoch 347, loss: 0.2681109271943569
Test_acc: 0.5
--------------------------
Epoch 348, loss: 0.2681089825928211
Test_acc: 0.5
--------------------------
Epoch 349, loss: 0.2681070454418659
Test_acc: 0.5
--------------------------
Epoch 350, loss: 0.2681051082909107
Test_acc: 0.5
--------------------------
Epoch 351, loss: 0.2681031860411167
Test_acc: 0.5
--------------------------
Epoch 352, loss: 0.2681012563407421
Test_acc: 0.5
--------------------------
Epoch 353, loss: 0.2680993266403675
Test_acc: 0.5
--------------------------
Epoch 354, loss: 0.2680973969399929
Test_acc: 0.5
--------------------------
Epoch 355, loss: 0.2680954746901989
Test_acc: 0.5
--------------------------
Epoch 356, loss: 0.2680935673415661
Test_acc: 0.5
--------------------------
Epoch 357, loss: 0.26809168234467506
Test_acc: 0.5
--------------------------
Epoch 358, loss: 0.26808977127075195
Test_acc: 0.5
--------------------------
Epoch 359, loss: 0.26808786764740944
Test_acc: 0.5
--------------------------
Epoch 360, loss: 0.2680859677493572
Test_acc: 0.5
--------------------------
Epoch 361, loss: 0.2680840827524662
Test_acc: 0.5
--------------------------
Epoch 362, loss: 0.268082182854414
Test_acc: 0.5
--------------------------
Epoch 363, loss: 0.26808030530810356
Test_acc: 0.5
--------------------------
Epoch 364, loss: 0.26807843148708344
Test_acc: 0.5
--------------------------
Epoch 365, loss: 0.2680765502154827
Test_acc: 0.5
--------------------------
Epoch 366, loss: 0.2680746652185917
Test_acc: 0.5
--------------------------
Epoch 367, loss: 0.26807280257344246
Test_acc: 0.5
--------------------------
Epoch 368, loss: 0.2680709473788738
Test_acc: 0.5
--------------------------
Epoch 369, loss: 0.2680690847337246
Test_acc: 0.5
--------------------------
Epoch 370, loss: 0.26806722953915596
Test_acc: 0.5
--------------------------
Epoch 371, loss: 0.2680653780698776
Test_acc: 0.5
--------------------------
Epoch 372, loss: 0.2680635191500187
Test_acc: 0.5
--------------------------
Epoch 373, loss: 0.26806169375777245
Test_acc: 0.5
--------------------------
Epoch 374, loss: 0.2680598422884941
Test_acc: 0.5
--------------------------
Epoch 375, loss: 0.26805799826979637
Test_acc: 0.5
--------------------------
Epoch 376, loss: 0.2680561803281307
Test_acc: 0.5
--------------------------
Epoch 377, loss: 0.2680543512105942
Test_acc: 0.5
--------------------------
Epoch 378, loss: 0.26805249974131584
Test_acc: 0.5
--------------------------
Epoch 379, loss: 0.2680506929755211
Test_acc: 0.5
--------------------------
Epoch 380, loss: 0.26804888620972633
Test_acc: 0.5
--------------------------
Epoch 381, loss: 0.2680470794439316
Test_acc: 0.5
--------------------------
Epoch 382, loss: 0.26804525777697563
Test_acc: 0.5
--------------------------
Epoch 383, loss: 0.2680434547364712
Test_acc: 0.5
--------------------------
Epoch 384, loss: 0.2680416591465473
Test_acc: 0.5
--------------------------
Epoch 385, loss: 0.26803984865546227
Test_acc: 0.5
--------------------------
Epoch 386, loss: 0.268038060516119
Test_acc: 0.5
--------------------------
Epoch 387, loss: 0.26803627237677574
Test_acc: 0.5
--------------------------
Epoch 388, loss: 0.2680344916880131
Test_acc: 0.5
--------------------------
Epoch 389, loss: 0.2680327072739601
Test_acc: 0.5
--------------------------
Epoch 390, loss: 0.26803092285990715
Test_acc: 0.5
--------------------------
Epoch 391, loss: 0.2680291496217251
Test_acc: 0.5
--------------------------
Epoch 392, loss: 0.2680273838341236
Test_acc: 0.5
--------------------------
Epoch 393, loss: 0.26802560314536095
Test_acc: 0.5
--------------------------
Epoch 394, loss: 0.26802385225892067
Test_acc: 0.5
--------------------------
Epoch 395, loss: 0.2680220939218998
Test_acc: 0.5
--------------------------
Epoch 396, loss: 0.2680203318595886
Test_acc: 0.5
--------------------------
Epoch 397, loss: 0.26801857724785805
Test_acc: 0.5
--------------------------
Epoch 398, loss: 0.26801682636141777
Test_acc: 0.5
--------------------------
Epoch 399, loss: 0.2680150829255581
Test_acc: 0.5
--------------------------
Epoch 400, loss: 0.2680133394896984
Test_acc: 0.5
--------------------------
Epoch 401, loss: 0.2680116072297096
Test_acc: 0.5
--------------------------
Epoch 402, loss: 0.26800987869501114
Test_acc: 0.5
--------------------------
Epoch 403, loss: 0.26800814643502235
Test_acc: 0.5
--------------------------
Epoch 404, loss: 0.26800641790032387
Test_acc: 0.5
--------------------------
Epoch 405, loss: 0.26800471171736717
Test_acc: 0.5
--------------------------
Epoch 406, loss: 0.2680029831826687
Test_acc: 0.5
--------------------------
Epoch 407, loss: 0.2680012658238411
Test_acc: 0.5
--------------------------
Epoch 408, loss: 0.2679995372891426
Test_acc: 0.5
--------------------------
Epoch 409, loss: 0.2679978497326374
Test_acc: 0.5
--------------------------
Epoch 410, loss: 0.2679961360991001
Test_acc: 0.5
--------------------------
Epoch 411, loss: 0.2679944336414337
Test_acc: 0.5
--------------------------
Epoch 412, loss: 0.2679927386343479
Test_acc: 0.5
--------------------------
Epoch 413, loss: 0.2679910510778427
Test_acc: 0.5
--------------------------
Epoch 414, loss: 0.2679893635213375
Test_acc: 0.5
--------------------------
Epoch 415, loss: 0.267987672239542
Test_acc: 0.4666666666666667
--------------------------
Epoch 416, loss: 0.2679859958589077
Test_acc: 0.4666666666666667
--------------------------
Epoch 417, loss: 0.2679843194782734
Test_acc: 0.4666666666666667
--------------------------
Epoch 418, loss: 0.2679826393723488
Test_acc: 0.4666666666666667
--------------------------
Epoch 419, loss: 0.2679809592664242
Test_acc: 0.4666666666666667
--------------------------
Epoch 420, loss: 0.26797930523753166
Test_acc: 0.4666666666666667
--------------------------
Epoch 421, loss: 0.26797763630747795
Test_acc: 0.4666666666666667
--------------------------
Epoch 422, loss: 0.26797598227858543
Test_acc: 0.4666666666666667
--------------------------
Epoch 423, loss: 0.2679743133485317
Test_acc: 0.4666666666666667
--------------------------
Epoch 424, loss: 0.2679726742208004
Test_acc: 0.4666666666666667
--------------------------
Epoch 425, loss: 0.2679710239171982
Test_acc: 0.4666666666666667
--------------------------
Epoch 426, loss: 0.26796937361359596
Test_acc: 0.4666666666666667
--------------------------
Epoch 427, loss: 0.26796772330999374
Test_acc: 0.4666666666666667
--------------------------
Epoch 428, loss: 0.2679661028087139
Test_acc: 0.4666666666666667
--------------------------
Epoch 429, loss: 0.267964456230402
Test_acc: 0.4666666666666667
--------------------------
Epoch 430, loss: 0.26796282082796097
Test_acc: 0.4666666666666667
--------------------------
Epoch 431, loss: 0.26796119287610054
Test_acc: 0.4666666666666667
--------------------------
Epoch 432, loss: 0.2679595835506916
Test_acc: 0.4666666666666667
--------------------------
Epoch 433, loss: 0.2679579593241215
Test_acc: 0.4666666666666667
--------------------------
Epoch 434, loss: 0.26795634627342224
Test_acc: 0.4666666666666667
--------------------------
Epoch 435, loss: 0.2679547183215618
Test_acc: 0.4666666666666667
--------------------------
Epoch 436, loss: 0.2679531089961529
Test_acc: 0.4666666666666667
--------------------------
Epoch 437, loss: 0.26795149967074394
Test_acc: 0.4666666666666667
--------------------------
Epoch 438, loss: 0.2679498828947544
Test_acc: 0.4666666666666667
--------------------------
Epoch 439, loss: 0.26794830337166786
Test_acc: 0.43333333333333335
--------------------------
Epoch 440, loss: 0.2679467089474201
Test_acc: 0.43333333333333335
--------------------------
Epoch 441, loss: 0.2679451070725918
Test_acc: 0.43333333333333335
--------------------------
Epoch 442, loss: 0.26794351637363434
Test_acc: 0.43333333333333335
--------------------------
Epoch 443, loss: 0.2679419405758381
Test_acc: 0.43333333333333335
--------------------------
Epoch 444, loss: 0.26794033870100975
Test_acc: 0.43333333333333335
--------------------------
Epoch 445, loss: 0.2679387591779232
Test_acc: 0.43333333333333335
--------------------------
Epoch 446, loss: 0.26793717965483665
Test_acc: 0.43333333333333335
--------------------------
Epoch 447, loss: 0.2679356224834919
Test_acc: 0.43333333333333335
--------------------------
Epoch 448, loss: 0.26793404296040535
Test_acc: 0.43333333333333335
--------------------------
Epoch 449, loss: 0.26793247833848
Test_acc: 0.43333333333333335
--------------------------
Epoch 450, loss: 0.26793092861771584
Test_acc: 0.43333333333333335
--------------------------
Epoch 451, loss: 0.2679293565452099
Test_acc: 0.43333333333333335
--------------------------
Epoch 452, loss: 0.2679277993738651
Test_acc: 0.43333333333333335
--------------------------
Epoch 453, loss: 0.26792625710368156
Test_acc: 0.43333333333333335
--------------------------
Epoch 454, loss: 0.2679247111082077
Test_acc: 0.43333333333333335
--------------------------
Epoch 455, loss: 0.26792315766215324
Test_acc: 0.43333333333333335
--------------------------
Epoch 456, loss: 0.2679216153919697
Test_acc: 0.43333333333333335
--------------------------
Epoch 457, loss: 0.2679200731217861
Test_acc: 0.43333333333333335
--------------------------
Epoch 458, loss: 0.26791854575276375
Test_acc: 0.43333333333333335
--------------------------
Epoch 459, loss: 0.2679170146584511
Test_acc: 0.43333333333333335
--------------------------
Epoch 460, loss: 0.2679154835641384
Test_acc: 0.43333333333333335
--------------------------
Epoch 461, loss: 0.26791395992040634
Test_acc: 0.43333333333333335
--------------------------
Epoch 462, loss: 0.26791243627667427
Test_acc: 0.43333333333333335
--------------------------
Epoch 463, loss: 0.2679109275341034
Test_acc: 0.43333333333333335
--------------------------
Epoch 464, loss: 0.267909400165081
Test_acc: 0.43333333333333335
--------------------------
Epoch 465, loss: 0.26790788397192955
Test_acc: 0.43333333333333335
--------------------------
Epoch 466, loss: 0.26790637895464897
Test_acc: 0.43333333333333335
--------------------------
Epoch 467, loss: 0.2679048888385296
Test_acc: 0.43333333333333335
--------------------------
Epoch 468, loss: 0.2679033689200878
Test_acc: 0.43333333333333335
--------------------------
Epoch 469, loss: 0.26790185645222664
Test_acc: 0.43333333333333335
--------------------------
Epoch 470, loss: 0.26790036633610725
Test_acc: 0.43333333333333335
--------------------------
Epoch 471, loss: 0.26789887621998787
Test_acc: 0.43333333333333335
--------------------------
Epoch 472, loss: 0.2678973935544491
Test_acc: 0.43333333333333335
--------------------------
Epoch 473, loss: 0.2678959146142006
Test_acc: 0.43333333333333335
--------------------------
Epoch 474, loss: 0.2678944319486618
Test_acc: 0.43333333333333335
--------------------------
Epoch 475, loss: 0.2678929343819618
Test_acc: 0.43333333333333335
--------------------------
Epoch 476, loss: 0.2678914703428745
Test_acc: 0.43333333333333335
--------------------------
Epoch 477, loss: 0.26788999512791634
Test_acc: 0.43333333333333335
--------------------------
Epoch 478, loss: 0.26788852363824844
Test_acc: 0.43333333333333335
--------------------------
Epoch 479, loss: 0.26788705214858055
Test_acc: 0.43333333333333335
--------------------------
Epoch 480, loss: 0.26788559183478355
Test_acc: 0.43333333333333335
--------------------------
Epoch 481, loss: 0.26788411661982536
Test_acc: 0.43333333333333335
--------------------------
Epoch 482, loss: 0.26788267865777016
Test_acc: 0.43333333333333335
--------------------------
Epoch 483, loss: 0.26788122579455376
Test_acc: 0.43333333333333335
--------------------------
Epoch 484, loss: 0.26787975430488586
Test_acc: 0.43333333333333335
--------------------------
Epoch 485, loss: 0.26787832379341125
Test_acc: 0.43333333333333335
--------------------------
Epoch 486, loss: 0.26787688210606575
Test_acc: 0.43333333333333335
--------------------------
Epoch 487, loss: 0.26787544041872025
Test_acc: 0.43333333333333335
--------------------------
Epoch 488, loss: 0.26787398383021355
Test_acc: 0.43333333333333335
--------------------------
Epoch 489, loss: 0.26787256449460983
Test_acc: 0.43333333333333335
--------------------------
Epoch 490, loss: 0.26787112280726433
Test_acc: 0.43333333333333335
--------------------------
Epoch 491, loss: 0.2678696922957897
Test_acc: 0.43333333333333335
--------------------------
Epoch 492, loss: 0.2678682655096054
Test_acc: 0.43333333333333335
--------------------------
Epoch 493, loss: 0.2678668461740017
Test_acc: 0.43333333333333335
--------------------------
Epoch 494, loss: 0.2678654305636883
Test_acc: 0.43333333333333335
--------------------------
Epoch 495, loss: 0.26786401867866516
Test_acc: 0.43333333333333335
--------------------------
Epoch 496, loss: 0.26786259934306145
Test_acc: 0.43333333333333335
--------------------------
Epoch 497, loss: 0.26786117628216743
Test_acc: 0.43333333333333335
--------------------------
Epoch 498, loss: 0.2678597904741764
Test_acc: 0.43333333333333335
--------------------------
Epoch 499, loss: 0.267858374863863
Test_acc: 0.43333333333333335
--------------------------

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值