91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 9KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-02
  • 語言: 其他
  • 標簽: 路徑??

資源簡介

問題: 從某物流中心用多臺配送車輛向多個客戶送貨,每個客戶的位置和貨物需求量一定,每臺配送車輛的載重量一定,其一次配送的最大行駛距離一定,要求合理安排車輛配送路線,使目標函數得到優化,并滿足以下條件:

資源截圖

代碼片段和文件信息

#?-*-?coding:?UTF-8?-*-

import?input_data
import?tensorflow?as?tf

mnist?=?input_data.read_data_sets(“MNIST_data/“?one_hot=True)??#讀取圖片數據集
sess?=?tf.InteractiveSession()

#---------------------------重要函數聲明-------------------------------------
#權重變量
def?weight_variable(shape):
????#輸出正態分布的隨機值,標準差為0.1,默認最大為1,最小為-1,均值為0
????inital?=?tf.truncated_normal(shape?stddev=0.1)
????return?tf.Variable(inital)

#偏移變量
def?bias_veriable(shape):
????#創建一個結構為shape的矩陣,或者說數組,聲明其行和列,初始化所有值為0.1
????inital?=?tf.constant(0.1?shape=shape)
????return?tf.Variable(inital)

#卷積函數,大概意思是根據步長一步一步去遍歷輸入的值,行成特征向量輸出到下一層
def?conv2d(x?W):
????#卷積遍歷各個方向步數為1,SAME表示邊緣自動補0而不是丟棄,遍歷相乘
????#strides:表示步長:當輸入的默認格式為:“NHWC”,
????#則?strides?=?[batch??in_height??in_width?in_channels]。
????#其中?batch?和?in_channels?要求一定為1,即只能在一個樣本的一個通道上的特征圖上進行移動,
????#in_height??in_width表示卷積核在特征圖的高度和寬度上移動的布長
????return?tf.nn.conv2d(x?W?strides=[1?1?1?1]?padding=‘SAME‘)

#池化函數:意思是把輸入的高寬變小,比如4*4?變成2*?2,有兩種方式,一種是取每一個小塊的最大值,另外一種是取每一個小塊的平均值
def?max_pool_2_2(x):
????#池化卷積結果(conv2d)池化層的kernal采用和2*2的大小,步數也為2,周圍填0,取最大值,數量量縮小
????return?tf.nn.max_pool(x?ksize=[1?2?2?1]?strides=[1?2?2?1]?padding=‘SAME‘)

#--------------------------定義輸入輸出結構---------------------------------
#聲明一個占位符,None表示輸入的圖片數量不定,28*28的圖片分辨率
xs?=?tf.placeholder(tf.float32?[None?784])
#輸出類別總共是0-9個類別,對應分類的輸出結果
ys?=?tf.placeholder(tf.float32?[None?10])

#x_image又把xs?reshape成?28*28*1的形狀,因為是灰色圖片,所以通道是1,作為訓練時的input,-1代表圖片數量不定
x_image?=?tf.reshape(xs?[-1?28?28?1])

#-------------------------搭建網絡,定義算法公式,也就是前進時候具體應該怎么計算----------

#第一層卷積操作
#第一次卷積核的大小即patch第三個參數是圖像通道數,第四個參數是卷積核數目,代表會出現多少個卷積特征圖像
W_conv1?=?weight_variable([5?5?1?32])
b_conv1?=?bias_veriable([32])?#偏移b的數量應該和w一致
#圖片乘以卷積核加上偏移量,卷積結果為28?*?28?*?32
#relu函數表示一個激活函數,在大于0時激活,激活到第一象限,其他的收斂于一個接近于0的小數
h_conv1?=?tf.nn.relu(conv2d(x_image?W_conv1)?+?b_conv1)

#結果池化,變成14*14*32的池化結果作為下一層的輸入
h_pool1?=?max_pool_2_2(h_conv1)

#第二次卷積
#32個通道卷積出64個特征
w_conv2?=?weight_variable([5?5?32?64])
#64個偏移數據
b_conv2?=?bias_veriable([64])
#注意上一層池化的結果作為輸入
h_conv2?=?tf.nn.relu(conv2d(h_pool1?w_conv2)?+?b_conv2)
#池化結果
h_pool2?=?max_pool_2_2(h_conv2)
#原始圖像尺寸為28*28第一輪圖像縮小為14*14共32張,第二輪繼續縮小為7*7共64張

#第三層全連接操作
#二維張量,第一個參數7*7*64的patch,第二個參數代表卷積有1024個
W_fc1?=?weight_variable([7*7*64?1024])
#1024個偏執量
b_fc1?=?bias_veriable([1024])
#將第二層的池化結果reshape成一行,有7*7*64個數據[n?7?7?64]->[n?7*7*64]
h_pool2_flat?=?tf.reshape(h_pool2?[-1?7*7*64])
#卷積操作結果是1*1*1024,這里只有一行,所以直接采用矩陣相乘,而不是遍歷相乘第一個參數是行向量,第二個是列向量
h_fc1?=?tf.nn.relu(tf.matmul(h_pool2_flat?W_fc1)?+?b_fc1)

#drop操作,為了減少過度擬合,降低上一層某些輸入的權值,防止測評曲線出現震蕩
#使用占位符,由dropout自動確定scale
keep_prob?=?tf.placeholder(tf.float32)
#對卷積結果進行drop操作
h_fc1_drop?=?tf.nn.dropout(h_fc1?keep_prob)

#第四層輸出操作
#二維張量,1*1024矩陣卷積,對應我們定義的10個輸出長度ys
W_fc2?=?weight_variable([1024?10])
tf.histogram_summary(‘outputlayer/W‘?W_fc2)
b_fc2?=?bias_veriable([10])
tf.histogram_summary(‘outputlayer/b‘?b_fc2)

#結果層用邏輯回歸softmax或者sigmoid
y_conv?=?tf.nn.softmax(tf.matmul(h_fc1_drop?W_fc2)?+?b_fc2)

#定義代價函

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-06-08?01:43??GeneticAlgorithm-master\
?????文件????????6937??2017-06-08?01:43??GeneticAlgorithm-master\CNN.py
?????文件???????14416??2017-06-08?01:43??GeneticAlgorithm-master\GA.py
?????文件?????????631??2017-06-08?01:43??GeneticAlgorithm-master\README.md
?????文件?????????463??2019-03-24?17:34??說明.txt

評論

共有 條評論