
人工智能
研究生阶段的人工智能项目
SaMorri
学习树洞
展开
-
PressLight: Learning Max Pressure Control to Coordinate(协调)Traffic Signals in Arterial Network(干线网络)
目录ABSTRACTINTRODUCTIONRELATED WORKABSTRACT交通信号控制是提高路网运输效率的关键。由于交通动力学的复杂性,它一直是一个具有挑战性的问题。传统的交通研究缺乏对动态交通状况的适应能力。最近的研究建议使用强化学习(RL)来寻找更有效的交通信号方案。然而,大多数基于RL的研究都是以启发式的方式设计关键要素-奖励和状态。这导致了高度敏感的表现和漫长的学习过程。为了避免RL元素的启发式设计,我们建议将RL与最近的交通研究联系起来。我们的方法受到运输领域最新方法最大压力(MP原创 2020-06-25 17:50:22 · 3186 阅读 · 6 评论 -
_keras_shape和Tensor的shape不匹配从而引发的一系列问题
问题描述原创 2020-05-20 16:39:01 · 2588 阅读 · 1 评论 -
custom_objects参数的使用,以及TypeError: __init__() got an unexpected keyword argument name
问题描述今天依旧是是令人裂开的debug环节,下面有请本次bug闪亮登场!(核心报错请直接看最后一行)Process Process-1:1:Traceback (most recent call last):File "/home/xuzheyang/anaconda3/envs/pytorch_gpu/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrapself.run() File "/home/xuzheya原创 2020-05-18 16:17:12 · 4454 阅读 · 3 评论 -
AttributeError: Tensor object has no attribute _keras_history的解决方案
问题描述在转写GIN (GRAPH ISOMORPHISM NETWORK)的pytorch代码为keras代码时,随手使用了K.relu( )函数,导致题目的报错,报错代码如下:def next_layer(self, h, layer, adj_matrix=None): h2 = h pooled = Lambda(lambda x: K.batch_dot(x[0], x[1]))([adj_matrix, h2]) pooled_rep = self.mlps[l原创 2020-05-18 14:47:42 · 2593 阅读 · 0 评论 -
random.sample函数、numpy.reshape函数、numpy.amax函数的使用
random.sample函数从list中随机获取5个元素,作为一个片断返回import randomlist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]for i in range(2): slice = random.sample(list, 5) print(slice) print(list, '\n') 结果:[5,9,4,7,6][1,2,3,4,5,6,7,8,9,10][3,7,4,2,8][1,2,3,4,5,6,7,8原创 2020-05-17 17:39:50 · 530 阅读 · 0 评论 -
tensorflow、keras等多维矩阵乘法
我们学习的矩阵乘法通常只能是二维matrix相乘,那么如何操作更高维度矩阵的相乘呢?栗子import tensorflow as tfa = tf.constant(0, shape=[1, 2, 3, 4])b = tf.constant(0, shape=[1, 2, 4, 7])c = tf.matmul(a, b)print(a,b)print(c.shape)结果:c.shape = (1, 2, 3, 7)结论即,如果a和b的dimention大于2,那么有如下规则:原创 2020-05-16 20:09:04 · 2526 阅读 · 0 评论 -
keras.utils.to_categorical函数用法
keras.utils.to_categorical函数问题描述今天再次精读论文"CoLight: Learning Network-level Cooperation for Traffic Signal Control"的源码,其中临济矩阵的用法中有这一函数。to_categorical函数作用:将原向量变为one-hot编码,用法:#调用to_categorical将vector按照num_classes个类别来进行转换l = to_categorical(vector, num_clas原创 2020-05-16 19:52:14 · 2575 阅读 · 0 评论 -
GCN——意识流理解
记:徐同学的第一篇博客之前看GCN(Graph Convolutional Network)的时候总是一知半解、懵懵懂懂。在学习了GAT和GIN并深入阅读了源码后终于对GCN有了更进一步的了解。意识流理解GCN第一步:平均这里我们可以同通过收集并平均你的neighbor的信息来提取信息:aggregatre(Xi)=∑j∈neighbor(i)AijXj aggregatre(X_i)=\sum_{j\in{neighbor(i)}}A_{ij}X_{j}aggregatre(Xi)=j∈n原创 2020-05-16 00:35:24 · 347 阅读 · 0 评论 -
DQN——深度强化学习的理解以及keras实现
DQN概述起源:Q-learing和SARSA算法Q-learing是一种经典的时序差分离线控制算法,与之相对的SARSA算法是时序差分在线控制算法的代表。所谓的在线,是一直使用一个策略来更新价值函数和选择新的动作。而离线是使用两个控制策略,一个策略用于选择新的动作,另一个策略用于更新价值函数。SARSA算法流程为:起初,我们使用ϵ−\epsilon-ϵ−贪婪法在当前状态S选择一个动作A,这样系统会转到一个新的状态S′S^\primeS′, 同时给我们一个即时奖励RRR, 在新的状态S′S^\p原创 2020-05-17 15:03:37 · 3574 阅读 · 0 评论