Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2016
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.40 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. import os
  3. import sys
  4. import lasagne
  5. from lasagne.layers import InputLayer
  6. from lasagne.layers import DenseLayer
  7. from lasagne.layers import NonlinearityLayer
  8. from lasagne.nonlinearities import rectify
  9. from lasagne.layers import DropoutLayer
  10. from lasagne.layers import Pool2DLayer as PoolLayer
  11. from lasagne.layers.dnn import Conv2DDNNLayer as ConvLayer
  12. from lasagne.nonlinearities import softmax
  13. import theano as T
  14. from lasagne.layers import LocalResponseNormalization2DLayer as LRN
  15. sys.path.append('/home/anilil/projects/lstm/lisa-caffe-public/python/')
  16. import caffe
  17. from lasagne.utils import floatX
  18. import numpy as np
  19.  
  20. def build_model():
  21. net = {}
  22. # Input layer
  23. net['input'] = InputLayer((None, 3, 227, 227))
  24. # First Conv Layer
  25. net['conv1'] = ConvLayer(net['input'], num_filters=96,filter_size=7, pad=0, flip_filters=False,stride=2,nonlinearity=rectify)
  26. net['pool1'] = PoolLayer(net['conv1'], pool_size=3,stride=2,mode='max')
  27. net['norm1'] = LRN(net['pool1'],alpha=0.0001,beta=0.75,n=5)
  28. # 2nd Conv Layer
  29. net['conv2'] = ConvLayer(net['norm1'], num_filters=384,filter_size=5, pad=0, flip_filters=False,stride=2,nonlinearity=rectify)
  30. net['pool2'] = PoolLayer(net['conv2'], pool_size=3,stride=2,mode='max')
  31. net['norm2'] = LRN(net['pool2'],alpha=0.0001,beta=0.75,n=5)
  32. # 3rd Conv Layer
  33. net['conv3'] = ConvLayer(net['norm2'], num_filters=512,filter_size=3, pad=1, flip_filters=False,nonlinearity=rectify)
  34. net['conv4'] = ConvLayer(net['conv3'], num_filters=512,filter_size=3, pad=1, flip_filters=False,nonlinearity=rectify)
  35. net['conv5'] = ConvLayer(net['conv4'], num_filters=384,filter_size=3, pad=1, flip_filters=False,nonlinearity=rectify)
  36. net['pool5'] = PoolLayer(net['conv5'], pool_size=3,stride=2,mode='max')
  37. net['fc6'] = DenseLayer(net['pool5'], num_units=4096,nonlinearity=rectify)
  38. net['fc6_dropout'] = DropoutLayer(net['fc6'], p=0.5)
  39. net['fc7'] = DenseLayer(net['fc6_dropout'], num_units=4096)
  40. net['fc7_dropout'] = DropoutLayer(net['fc7'], p=0.5)
  41. net['fc8-ucf'] = DenseLayer(net['fc7_dropout'], num_units=101, nonlinearity=None)
  42. net['prob'] = NonlinearityLayer(net['fc8-ucf'], softmax)
  43.  
  44. return net
  45.  
  46. if __name__=="__main__":
  47. net = build_model()
  48. #net= load_caffe_weights(net,'/home/anilil/projects/lstm/lisa-caffe-public/examples/LRCN_activity_recognition/deploy_singleFrame.prototxt','/home/anilil/projects/lstm/lisa-caffe-public/examples/LRCN_activity_recognition/singleframe_flow/snaps/snapshots_singleFrame_flow_v2_iter_50000.caffemodel')
  49. caffe.set_device(0)
  50. caffe.set_mode_gpu()
  51. net_caffe = caffe.Net('/home/anilil/projects/lstm/lisa-caffe-public/examples/LRCN_activity_recognition/deploy_singleFrame.prototxt', '/home/anilil/projects/lstm/lisa-caffe-public/examples/LRCN_activity_recognition/singleframe_flow/snaps/snapshots_singleFrame_flow_v2_iter_50000.caffemodel', caffe.TEST)
  52. layers_caffe = dict(zip(list(net_caffe._layer_names), net_caffe.layers))
  53.  
  54. for name, layer in net.items():
  55. try:
  56. layer.W.set_value(layers_caffe[name].blobs[0].data,borrow=True)
  57. layer.b.set_value(layers_caffe[name].blobs[1].data,borrow=True)
  58. except AttributeError:
  59. continue
  60.  
  61. print ("Loaded the files without issues !!!!!!!!!!")
  62. x=lasagne.layers.get_all_param_values(net)
  63. print ("Saved Weights to the file without issues !!!!!!!!!!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement